前后端分离怎么实现自动登录功能?

我只是一个渣渣
  • 278

譬如,有个模块叫我的订单。当然,这个模块要登陆才能看到。
js怎么检查是否是登陆状态,或者这个状态是否超时。如果未登录就自动登录(前提是用户之前已经登陆过一次,利用本地存储记住了帐号密码).
现在情景是,我是用户,我点击我的订单这个模块才看我的订单,然后可能出现两种情况,一种是过期,一种我第一次用这个系统没账号。
分别怎么做??我还要程序登陆成功之后自动跳回来这个我的订单页面。
程序怎么做到复用,因为一个系统里面肯定不止一个模块需要登录的。我想他们登陆成功之后都跳回我想看的页面。

回复
阅读 4.7k
4 个回答

如果前后端使用的是同一个域名,就很简单了,正常的登录、会话保持就行了(登录信息放到cookie/session里),下次请求的时候浏览器会自动带上;
如果前后端使用的不是同一个域名,那么就再解决一下跨域的问题:增加响应header(Access-Control-Allow-Origin)或者通过jsonp的方式请求。登录信息还是放到cookie/session里就行了

这个主要看你后端的认证鉴权机制了,如果后端是通过session保存登录信息的,登录信息会存在session里,如果后端是token认证的话,登陆之后登录信息会保存在token信息里,每次请求带上token,后端解析token信息就会知道是不是已登录的

Session tokens 或 filter + session设置

Shiro或者Filter

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏