基于会话属性的Spring MVC安全性

问题描述:

我正在使用基于会话属性的安全性方案。我知道Spring有Acegi Security,但我没有太多时间研究这个模块。我只是想分享这个意见征求意见。基于会话属性的Spring MVC安全性

伪代码是这样的。

  1. 成功登录后,我在用户会话上设置属性。我作为会话属性放置的对象是具有特权映射的简单javabean。

    public class UserInfo {String 0} public String getRole(){}; public map checkPrivilege(){}; //获得者和设置者 }

  2. 会话属性包含用户的角色。 (他可以是用户/访客/管理员/超级管理员)。现在有一些授权给用户的特权。

对于我的JSP,我只是检查出他的角色和权限的用户会话。

我粗略代码是这样的使用JSTL

IF (User Info in Session is 'User' and has this privilege) 
    Add Button is shown 
Else 
    No Add Button is shown. 

我有以下问题:

  1. 被看作是安全,没有人可以嗅出或破解会话属性?
  2. 基于这些方案的安全性是否足够安全?

会话属性仅存储在服务器端,所以是的,它们是安全的。

将安全标识符置于会话属性的安全性方面没有问题。但这是Web应用程序安全性的一个简单部分!最难的部分是安全基础设施的其余部分,我担心你还没有想过。

我建议你调查Spring Security。

+0

感谢您的快速响应。除了理解诸如在我的web.xml中分配角色(我觉得有点混乱)之外,我对安全性还没有给出足够的想法。你能分享一下我应该看看的安全基础设施的其他部分吗? – 2010-10-13 02:03:12

+0

您将需要某种单独的授权框架,该框架将与您的定制认证框架相集成。不过,你会发现Spring Security基本上就是你正在编写的框架。为什么再这样做? – 2010-10-13 03:55:42

+0

我诚实地不知道任何有关安全。感谢您的宝贵意见。 – 2010-10-15 06:39:00