2010-10-13 64 views
0

我正在使用基於會話屬性的安全性方案。我知道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. 基於這些方案的安全性是否足夠安全?

回答

1

會話屬性僅存儲在服務器端,所以是的,它們是安全的。

將安全標識符置於會話屬性的安全性方面沒有問題。但這是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