【发布时间】:2015-11-05 12:19:58
【问题描述】:
我一直在为每个 $http 请求和 url 更改进行身份验证。因此,我已经实现了 url 更改身份验证的代码和平,如下所示
/** login-controller.js file **/
//when the form is submitted
$scope.submit = function() {
console.log("enter login submit");
$scope.submitted = true;
if (!$scope.loginForm.$invalid) {
$scope.login($scope.credentials);
} else {
$scope.error = true;
$scope.error_des = '';
return;
}
};
// if a session exists for current user (page was refreshed)
// log him in again
if ($window.sessionStorage["userInfo"]) {
var credentials = JSON.parse($window.sessionStorage["userInfo"]);
$scope.login(credentials);
};
//Performs the login function, by sending a request to the server with the Auth service
$scope.login = function(credentials) {
$scope.error = false;
Auth.login(credentials, function(user) {
//success function
$mdDialog.hide();
$state.go("admin-panel.default.home");
}, function(err) {
console.log("error");
$scope.error_des = err.msg;
$scope.error = true;
});
};
一切都按我的预期工作,但是在重新加载同一页面时,它总是会重定向到主页(http://localhost:3000/#/home).i 知道这是因为
$state.go("admin-panel.default.home");
麻烦的是,我想根据登录方式重定向页面假设如果用户通过提交的表单登录,它将被重定向到 $state.go("admin-panel.default.home"); 同样,如果当前用户存在通过会话登录的用户,则将被重定向到 $state.go("admin-panel.default."+$current_page);
如何实现呢?请帮帮我???
【问题讨论】:
标签: angularjs angularjs-directive angularjs-scope angular-ui-router