求助!關於j2ee安全框架問題?!!!

天龍工作室發表於2004-12-30
在j2ee框架中如何實現可定製的安全驗證及授權?

我想在我的系統中實現如下功能:
說明:此係統的客戶端是使用java編寫的介面,服務端採用Web Sevice實現業務邏輯,業務的實現主要採用EJB。

1、登入,使用者在客戶端透過輸入使用者名稱及密碼進行登入,服務端根據登入的使用者名稱及密碼來判斷是否登入成功!

2、方法呼叫,根據登入的使用者資訊,在資料庫中取得該使用者的許可權(此許可權何存在資料庫中,管理員可對使用者進行許可權的修改),來判斷此使用者是否有此方法呼叫的許可權。

3、許可權設定,管理員可對使用者進行許可權設定。

我的分析:
a.使用者登入後,在服務端的其它業務方法中如何實現許可權驗證?實現方式可以採用,將所以方法在一個狀態bean中實現,使用者登入後將使用者資訊進行儲存,呼叫其它方法時可進行查詢資料庫得到其許可權,此種方法的害處是每個客戶端都必須使用一個狀態bean,程式退出時該狀態bean才死掉,如果客戶比較多時,伺服器將無法負載。
b.第二種實現方法,在每一個商務方法中加入使用者資訊,在呼叫商務方法時根據傳入的引數(使用者資訊)查詢資料庫得到其許可權,這種方法的缺點是會增加傳輸資料,且每個方法都帶使用者資訊也不地道:)
c.第三種實現方法,使用jaas驗證,服務端由部署員進行角色使用者對映的部署,但這種方式無法動態的增加、刪除、改變使用者,授權也無法動態變更。
我的問題:
以上是我想到的實現方法,都有其致命的缺點,無法滿足需求,請教各位大蝦?誰有更好的方法,給出相應例項,我將不甚感激!!此問題困擾我很久了!!在此先謝過了!

相關文章