Redirect 用户登录后重定向
我对Angular很陌生,现在我只是想把我所有的路线都设置好,并按照我的意愿工作 设置: 当用户导航到某些页面时(本例中为Redirect 用户登录后重定向,redirect,login,angularjs,angularjs-routing,angularjs-authentication,Redirect,Login,Angularjs,Angularjs Routing,Angularjs Authentication,我对Angular很陌生,现在我只是想把我所有的路线都设置好,并按照我的意愿工作 设置: 当用户导航到某些页面时(本例中为/settings),应用程序应检查是否有用户已登录。如果有,照常继续。否则,用户应转到登录页面(/login) 我想要什么: 用户成功登录后,应转到最初尝试访问的页面(/settings) 我的问题: 有没有一种“有角度的方式”来记住用户试图去的地方 相关代码: app.js .when('/settings', { templateUrl: '/views
/settings
),应用程序应检查是否有用户已登录。如果有,照常继续。否则,用户应转到登录页面(/login
)
我想要什么:
用户成功登录后,应转到最初尝试访问的页面(/settings
)
我的问题:
有没有一种“有角度的方式”来记住用户试图去的地方
相关代码:
app.js
.when('/settings', {
templateUrl: '/views/auth/settings.html',
controller: 'SettingsCtrl',
resolve: {
currentUser: function($q, $location, Auth) {
var deferred = $q.defer();
var noUser = function() {
//remember where the user was trying to go
$location.path("/login")
};
Auth.checkLogin(function() {
if (Auth.currentUser()) {
deferred.resolve(Auth.currentUser());
} else {
deferred.reject(noUser());
}
});
return deferred.promise;
}
}
})
login.js
$scope.submit = function() {
if(!$scope.logInForm.$invalid) {
Auth.login($scope.login, $scope.password, $scope.remember_me)
//go to the page the user was trying to get to
}
};
非常感谢John Lindquist让我走了这么远。首先,您不想将用户重定向到登录页面 单页web应用程序中的理想流程如下所示:
祝你好运,祝你成角愉快 您可以将此信息存储在$rootScope或中。我不同意您关于“不想重定向”的说法。我正在使用http拦截器捕获401&显示登录模式。它有一个严重的问题,我的客户端不会接受-在失败的页面上,有应用程序的可见部分-ng视图呈现,但组件是从API请求资源的401的空cos。但页面(界面)对完全没有特权的访问者也是可见的。