AngularJS – 重定向到登录页面和会话ID的持久性

前端之家收集整理的这篇文章主要介绍了AngularJS – 重定向到登录页面和会话ID的持久性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种方法来做这两件事情,首先我想将用户重定向登录页面,如果没有发现SessionID,第二个我想听到您对持久化内存中的会话ID(无cookie)的意见.

我想出的重定向解决方案是:

1 – 创建一个名为OAuth的服务,将检查SessionID是否存在,如果不存在,则重定向登录页面,该服务还负责登录和注销方法.

app.factory('OAuth',['$http',function ($http) {

    var _SessionID = '';

    return { 
        login: function () {
            //Do login ans store sessionID in var _SessionID
        },logout: function () {
            //Do logout
        },isLoggedIn: function () {
            if(_SessionID) {
                return true;
            }
            //redirect to login page if false
        }
    };

}]);

2 – 在每个控制器中注入新的OAuth服务,并检查用户是否已登录

app.controller('myCtrl',['$scope','OAuth',function ($scope,OAuth) {

    //check if user is logged
    OAuth.isLoggedIn();

}]);

问题:

1 – 在所有的控制器中都会调用isLoggedIn()方法,所以我想知道是否有办法,而无需注入服务并在每个控制器中调用它.

2 – 而不是有一个cookie存储sessionID,我想保存在OAuth的_SessionID变量,并且每个请求发送到服务器.这是可行/安全的方法吗?你能给我一些想法吗?

谢谢!

我将从 here开始,Witold创建了这个酷的拦截器,可以解决http响应.我使用它,它真的很有帮助.
原文链接:https://www.f2er.com/angularjs/143076.html

猜你在找的Angularjs相关文章