用户登录后,他拥有的权限是保存在session中的,后台管理员修改他的权限后,该用户拥有的权限不会立即生效,只能他重新登录。有没有其他好的解决办法。感谢!
这个有两种做法
session的信息不要使用原生session, 信息存放在redis中, 每次修改之前触发修改redis的内容
因为要做权限控制, 所以你肯定是要有一个filter的, 那么就可以在filter中, 每次pre之前, 现根据session中的userid, 动态的去数据库中查询一遍权限, 然后塞入session中
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2016-07-18
通常情况下,session中最好只保存用户的登陆信息,对于权限可以每次查询判断(用户量不大的情况下).或者定期查询,并放入缓存,进行判断.
对于问题中的情况,可以在更改权限后,立即更新用户权限缓存即可.本回答被提问者和网友采纳
对于问题中的情况,可以在更改权限后,立即更新用户权限缓存即可.本回答被提问者和网友采纳