AngularJS – 重定向到登录页面和会话ID的持久性
发布时间:2020-12-17 07:46:33 所属栏目:安全 来源:网络整理
导读:我正在寻找一种方法来做这两件事情,首先我想将用户重定向到登录页面,如果没有发现SessionID,第二个我想听到您对持久化内存中的会话ID(无cookie)的意见. 我想出的重定向解决方案是: 1 – 创建一个名为OAuth的服务,将检查SessionID是否存在,如果不存在,则重定
我正在寻找一种方法来做这两件事情,首先我想将用户重定向到登录页面,如果没有发现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响应.我使用它,它真的很有帮助.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |