1、前言
很多Spring Boot应用使用了Session作为缓存,一般会在用户登录后保存用户的关键信息,如:
用户ID。
用户名。
用户token。
权限角色集合。
等等。。。
在管理员修改了用户的权限后,希望能立即生效。此时,会发现一个问题,管理员的HTTP请求对象,只能获取自己的Session对象,而无法获取用户的Session对象。这样对已登录的用户、或Session未过期的用户似乎没有办法实现动态权限变更。
当然,并不是真的没有办法,通常的做法,可使用Spring Security插件框架来实现动态权限变更。
这里,提供了另一种思路,即利用ServletContext对象的共享特性,来实现用户权限变更的信息传递。
2、总体思路
建立一个用户变更字典globalChangeMap(Map<Integer,Integer>类型)作为userId与changeFlag的映射关系,其中changeFlag暂时没有意义。如果需要通知信息类型超过1种,不足32种,可将changeFlag按位编码,每位表示一种变更类型。还是先假设只有权限变更这一种类型。
对globalChangeMap作为核心进行封装,作为变更服务类ChangeService,提供必要的接口方法。
将ChangeService加入ServletContext对象中,实现全局共享。
如果管理员修改了某个用户的权限......
原文转载:http://www.shaoqun.com/a/832878.html
跨境电商:https://www.ikjzd.com/
拍拍网:https://www.ikjzd.com/w/2205
yiqu:https://www.ikjzd.com/w/210
法瑞儿:https://www.ikjzd.com/w/412
1、前言很多SpringBoot应用使用了Session作为缓存,一般会在用户登录后保存用户的关键信息,如:用户ID。用户名。用户token。权限角色集合。等等。。。在管理员修改了用户的权限后,希望能立即生效。此时,会发现一个问题,管理员的HTTP请求对象,只能获取自己的Session对象,而无法获取用户的Session对象。这样对已登录的用户、或Session未过期的用户似乎没有办法实现动态权限
敏思达:https://www.ikjzd.com/w/2304
myyearbook:https://www.ikjzd.com/w/726
这个市场亚马逊久攻不下,如今却对外招商了!:https://www.ikjzd.com/articles/18232
请注意:东南亚女性正在剁手!:https://www.ikjzd.com/articles/18233
蝉联Facebook热榜第一的节日,这个热度必须蹭!:https://www.ikjzd.com/articles/18234
重点招募速卖通卖家,跨境电商平台「Joom」将中国商品卖到俄罗斯和欧美市场:https://www.ikjzd.com/articles/18235
同桌偷偷伸进来揉我胸 被男同桌强开解胸罩吃奶:http://lady.shaoqun.com/a/247782.html
我和老外真实刺激的交换 老外拿粗大征服了我:http://lady.shaoqun.com/m/a/247812.html
没有重力的爱情,各种姿势,16日出日落一天,太空酒店来了:http://lady.shaoqun.com/a/389468.html
男女需求,看到结果我很震惊!:http://lady.shaoqun.com/a/389469.html
当我谈论拿枪的行为时,我应该谈论什么:http://lady.shaoqun.com/a/389470.html
最便宜的自娱项目——自拍,大炮,广场舞:http://lady.shaoqun.com/a/389471.html
没有评论:
发表评论
注意:只有此博客的成员才能发布评论。