gpt4 book ai didi

javascript - 如果用户已登录,如何限制后退按钮,或直接在angularjs中访问登录页面

转载 作者:行者123 更新时间:2023-12-03 06:19:01 24 4
gpt4 key购买 nike

我正在尝试使用 Angular JS 实现基本的登录、注销功能,成功登录后只需出现我的标题。一旦用户登录。直到他注销,如果他尝试直接访问登录路由,它应该重定向到仪表板。

如何实现这一目标..?我在这件事上需要帮助。我有存储在 cookie 中的访问 token 。这会让我们知道用户是否登录。如果登录..我的路线不应该通向登录路线。

作为引用,我添加了路线代码。

app.config(["$routeProvider",function($routeProvider){
$routeProvider
.when("/",{
templateUrl : 'views/home/login.html',
controller : 'homeCtrl'
})

.when("/dashboard",{
templateUrl : 'views/home/dashboard.html',
controller : 'dashboardCtrl',
authenticated : true
})

.otherwise('/',{
templateUrl : 'views/home/login.html',
controller : 'homeCtrl'
})

}]);

app.run(["$rootScope","$location","authFactory",function($rootScope,$location,authFactory){

$rootScope.$auth = authFactory;
$rootScope.$on('$routeChangeStart',function(event,next,current){

if(next.$$route.authenticated){
var userAuth = authFactory.getAccessToken();

if(!userAuth){

$location.path('/');

}
}
});
}]);

如果用户当前已登录,我想限制对登录页面的路由访问..

请帮帮我

最佳答案

您可以分别处理这两种情况,如下所示。

var userAuth = authFactory.getAccessToken();

// Redirect to login if auth token is not available
if(next.$$route.authenticated && !userAuth) {
$location.path('/');
}

// Redirect to dashboard if valid auth token is available and user is in an unauthenticated page (login may be)
if(!next.$$route.authenticated && userAuth) {
$location.path('/dashboard');
}

关于javascript - 如果用户已登录,如何限制后退按钮,或直接在angularjs中访问登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38953546/

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