基于session的权限控制安全吗?

水人 发布于 2015/06/14 23:30
阅读 928
收藏 1

方式一:基于session的权限控制:登录时,获取数据库里存的权限,存入session,需要的时候取出验证。

方式二:基于数据库的权限控制:每次验证权限的时候,都去数据库取出来做对比验证。

感觉两种方式,方式一减少了数据库访问是不是效率更高些?但安全性如何?

方式二貌似可以更灵活是吧

加载中
0
雪梨苹果
雪梨苹果

session不参与权限控制中的,参与会出问题的,例如:动态的权限提升(降低)等。

每次都是从数据库来判断,决得效率不好,可以把权限库独立出来。

水人
水人
谢谢,我去看看
雪梨苹果
雪梨苹果
回复 @水人 : 你拍恶意串改那就加个salt作为key。还有session不参与权限分配里,但可以参与权限限制中,例如:某个权限操作,某段时间内有次数限制,这时候用session(或者其他)就方便了。详情你可以看下rbac3。
水人
水人
除了您举的例子,还有其他情况吗?我主要担心会不会有恶意串改
1
台俊峰
台俊峰
你可以把权限按用户进行缓存,权限有变更的时候更新缓存。每次都从缓存里取,缓存里没有存储就从数据库里取,然后放缓存里。
1
南湖船老大
南湖船老大
session 只是身份验证机制,应该和权限分开
0
zigzagroad
zigzagroad
方式一 再加上适当的权限变更通知机制
0
如比如比
如比如比
是一加二,在session中存user的标识,对不是普通用户的,权限用表管理,尤其是涉及及时降升的时候,需要马上反应。
0
水人
水人
了解了,谢谢
返回顶部
顶部