Struts Menu中基於角色的許可權管理

2021-04-01 15:41:08 字數 2271 閱讀 4888

permissionsadapter

介面,在選單框架中定義可插入的介面卡,該介面卡原來校驗對選單的訪問。介面中只有乙個方法:

public booleanisallowed(

menucomponent

menu)

,引數是

menu-config.xml

檔案中定義的乙個選單(

menu

)或選單項(

item

),該方法判斷該選單是否允許被顯示。

在顯示選單的時候,每個選單或選單項都要作為引數呼叫isallowed

方法,如果返回

true

就顯示該選單,否則就不顯示選單。

struts-menu

專案中內建有類rolespermissionsadapter

實現了permissionsadapter

介面。該介面卡在容器管理安全性是被用來進行選單訪問的驗證,將

web.xml

檔案中定義的使用者安全角色對映到

menu-config.xml

檔案中設定的選單

/選單項允許訪問角色列表

。其中的角色是在。

該步驟通常是

j2ee/jaas

等安全配置的一部分。為每個使用者或使用者組分配角色。角色是在

web.xml

檔案中定義的。

用來顯示選單的

jsp標記

標記中有乙個可選的屬性:

permissions

。如果設定了該屬性,該屬性值就作為名字,在

域內查詢

permissionsadapter

的物件。然後將找到的介面卡應用到選單的顯示中。

值得注意的是,在

permissions

的屬性值中有乙個值是特殊處理的――

rolesadapter

。如果設定了

permissions="rolesadapter"

,就說明在驗證選單是否顯示的過程中,不是在

域中查詢介面卡,而是建立並使用新的

rolespermissionsadapter

物件。這樣就只需要在

標記中新增屬性

permissions="rolesadapter"

,而無需定義自己的

permissionsadapter

實現。在

menu-config.xml

檔案中的

和標記有乙個可選的屬性:

roles

。該屬性在與

rolespermissionsadapter

聯合使用的時候,其值是所有可以看到該選單

/選單項的角色列表,角色之間以空格分隔。

rolespermissionsadapter

物件會根據空格從角色列表中取得各個角色,並為每個角色呼叫

request.isuserinrole()

方法。對於呼叫返回

true

的角色,就顯示對應的選單

/選單項。

例如,在

menu-config.xml

檔案中配置如下:

page="modprefs.do" roles="moderator system"/>

page="siteprefs.do" roles="system"/>

說明:任何

user

角色的使用者都能夠看到該選單,也就是自動看到

user preferences

選單項。只有

moderator

和system

角色的使用者才能看到

moderator preferences

選單項。而只有

system

角色的使用者才能夠看到

site preferences

選單項。

當然,使用者看不到不等於沒有許可權訪問,使用者可以直接輸入連線進行訪問。因此要避免非法訪問,還要進行必要的安全措施。

name="permissions" title="permissions" roles="tomcat,role1">

roles

屬性給出了兩個能夠看到該選單的角色:

tomcat,role1

bundle=".apache.struts.action.message"

permissions="rolesadapter">

給出permissions

屬性,表示顯示的選單要進行角色的驗證

基於角色的許可權控制

asp forums中基於角色的許可權控制 asp.頁面如何控制頁面依據不同使用者許可權有不可見 可見 編輯 三種操作許可權 做過許可權管理和想做許可權管理的人進來 附我的思路 懇求許可權分配的例子 高分求使用者許可權管理 c 或演算法 請問在 artclient應用中,如何做到科學的身份驗證和許可...

基於角色的許可權設計

基於角色的許可權設計 一 在任何系統中,許可權設計是最基礎的東西,本文給出乙個基於角色的許可權設計的循序漸進的設計方案。在許可權系統中,功能 許可權 是最小的單位,比如起草新聞 編輯新聞 審核新聞 刪除新聞等,而角色是一類功能的集合,比如新聞編輯這個角色,他可能有起草新聞 編輯新聞等功能集合,而責任...

基於角色的許可權設計

在任何系統中,許可權設計是最基礎的東西,本文給出乙個基於角色的許可權設計的循序漸進的設計方案。在許可權系統中,功能 許可權 是最小的單位,比如起草新聞 編輯新聞 審核新聞 刪除新聞等,而角色是一類功能的集合,比如新聞編輯這個角色,他可能有起草新聞 編輯新聞等功能集合,而責任編輯他可能就有更多的許可權...