项目中使用的权限框架是shiro
步骤如下图所示
我的疑问是:当我获取到用户名密码之后的操作应该是如何?(我有两种思路如下图所示)
思路一:
思路二:
-
这个方法我有些疑问
因为我用的权限框架是shiro。shrio可以配置用cookie登陆,对cookie的生成和取值是由框架自己完成的,不需要人为干涉。
应该是先用登陆接口登陆后,shiro自动生成cookie返回给客户端,而我现在都没有进行登录,shiro没法帮我生成cookie。
这个方法我有些疑问
因为我用的权限框架是shiro。shrio可以配置用cookie登陆,对cookie的生成和取值是由框架自己完成的,不需要人为干涉。
应该是先用登陆接口登陆后,shiro自动生成cookie返回给客户端,而我现在都没有进行登录,shiro没法帮我生成cookie。
从微信用户访问特定url到服务端,这一步已经是登陆操作了,所以不太理解图2里为什么还要返回账户和密码。
如@水爱 所说,用户登陆成功后在服务端生成一个带过期时间的token返回给用户,同时保存一份在服务器缓存里(例如memcached、redis),用户每次访问服务端时检查一下token是否还存在缓存里,是则合法,否则重新登录。
以上校验比较简单,视乎你们业务上对登陆校验的安全性要求可以设计更安全但也更复杂的方案。
安全与成本是呈正比的,与便利是呈反比的,需要在业务上衡量。
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
4 回答1.9k 阅读
不建议返回帐密,可以以此帐密 以自己的方式生成一个临时的字符串,我们先称其为token,然后这个token,关联这个用户的帐密,并且为该token设置销毁的时间.服务端返回该token给用户,写入cookies,然后每次请求摘取该token,作为用户信息.