我正在使用基于会话属性的安全方案。我知道Spring有Acegi Security,但我没有太多时间研究这个模块。我只是想分享一下来征求意见。
伪代码是这样的。
成功登录后,我正在设置用户会话的属性。我作为会话属性放置的对象是一个带有特权映射的简单javabean。
公共类UserInfo { public String getRole(){}; public Map checkPrivilege(){}; // getter和setter }
会话属性还包含用户的角色。 (他可以是用户/访客/管理员/超级管理员)。现在有一些授权用户的权限。
对于我的JSP,我只是检查用户会话的角色和权限。
我粗略的代码就是这样使用JSTL
IF (User Info in Session is 'User' and has this privilege)
Add Button is shown
Else
No Add Button is shown.
我有这些问题:
答案 0 :(得分:1)
会话属性仅存储在服务器端,因此它们是安全的。
在安全性方面将这些安全标识符放入会话属性中没有问题。但这是Web应用程序安全性的简单部分!困难的部分是安全基础设施的其余部分,我担心你还没有考虑过。
我建议您调查Spring Security。