gpt4 book ai didi

jquery - AngularJS 授权重定向

转载 作者:行者123 更新时间:2023-12-01 00:30:56 24 4
gpt4 key购买 nike

我用 angularfire 和 firebase 构建了一个登录系统。

我有一个在用户登录时和其他多次调用的函数。检查 authData 是否存在,如果存在则将用户注册为已登录。

fbRef.onAuth(authDataCallback);
function authDataCallback(authData) {
if (authData) {
$scope.loggedIn = true;
} else {
$scope.loggedIn = false;
}
}

我也设置了路线

.config(function($routeProvider) {
$routeProvider
.when('/', {
controller: '',
templateUrl: '/company/pages/account/pages/dashboard.php',
})
.when('/dashboard', {
controller: '',
templateUrl: '/company/pages/account/pages/dashboard.php',
})
.when('/login', {
controller: 'Authorization',
templateUrl: '/company/pages/account/pages/login.php',
})
.when('/register', {
controller: 'Authorization',
templateUrl: '/company/pages/account/pages/register.php',
})
})

我希望除了登录和注册页面之外的每个页面都仅限于登录用户。如果 $scope.loggedIn 返回 false,我希望将用户重定向到登录页面。

我在互联网上尝试了很多解决方案,但没有一个对我有用。其中大多数都导致了超出限制的错误。

在我的情况下,我将如何限制访问?

最佳答案

您可以检查“loggedIn”变量是否发生变化

    app.controller('MyCtrl', ['$scope', '$location', function($scope, $location){

fbRef.onAuth(authDataCallback);

$scope.loggedIn = null;

function authDataCallback(authData) {
$scope.loggedIn = authData ? true : false
}

$scope.$watch("loggedIn", function(val){

val === false && $location.path("/login");

});

});

关于jquery - AngularJS 授权重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30542033/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com