A. java中欄位的訪問許可權問題+
定義為private的時候,其他的類是不能直接訪問屬性的,只能通過 setter getter 訪問
設想,你有一個Person類代表一個人,Person有一個char類型的sex欄位表示性別,理論上,sex只接受兩個值, 'M '和 'F '唯基蠢,但如果你把sex欄位設為public,你很難限制你的用戶只給它賦 'M '或 'F '值。將sex設為private,再用setSex()來設置性別,你就完全可以控制這種行為了。而且你還可以控制只能get不能set,或相反,但如果是public就不行了。別外有一點屬性我們可能並鋒鋒不希望其他用戶對我們的屬性進行寫操作,這個時候,指陪可以直接不寫setX方法。這就是只讀屬性了。
B. JavaWeb項目里的 關於許可權控制,是怎樣實現的呢
一般用了3張表
1.用戶表(存儲所有用戶,有一個欄位表示用戶的所屬組如,管理員專是0)
2.路徑表(存儲你的所屬有頁面路徑)
3.許可權表(存儲用戶和路徑的關系,0對應一些路徑)
查詢的時候用0去許可權表查出所有對應的路徑
C. java做欄位級別的許可權控制
private類型的是可以在本類當中隨時訪問和修改的 但是如果定義的是靜態常量就不可修專改屬 當然靜態常量我們常常設為public類型的
比如
public class Integrhaha{
private in i;
} 那麼 這個i就是可以在Integerhaha這個類中訪問的 比如這個類中有個方法 需要用到這個i 那麼就沒問題 用就行 ;可是若是在另外一個類中 則就不能訪問這個i了
而public中的就沒有限制了 想用就用 無論是誰
D. java如何做許可權管理
思路:
1、用戶表 user;
2、角色表 role;
3、菜單 menu;
4、角色菜單許可權表 role_menu;
5、用戶菜單許可權表 user_menu;
E. java 中怎麼做許可權系統的控制和分配
代碼可能沒復時間寫了,給你個思制路吧.在servlet中得到登錄用戶的封裝對象,然後提取當前用戶的許可權和資料庫里的許可權匹配,如果是管理員就在請求域中註明許可權 如管理員:request.setAttribute("grade","mgr");普通會員request.setAttribute("grade","common");
然後在jsp中根據請求域中的"grade"值來判斷增刪改功能是否呈現給用戶
建議將增刪改按鈕用一個div層裝起來
F. java怎麼實現數據級許可權控制,純純手寫
設計好許可權表,手寫攔截器,或者用框架,如:shiro
G. Java的訪問控制許可權有哪幾種試以類格式形式列出Java的訪問控制。
訪問許可權的等級最大到最小依次是:public,protected,包訪問許可權(無關鍵字)和private。
成員的訪問許可權取得對某成員(屬性和方法)的實現方法有下面四種情況
1, 許可權設置為public; 2, 默認包訪問許可權,在同一包中的其他類,可以訪問; 3, 許可權設置為public或者protected,通過繼承的子類可以訪問; 4, 設置為private,提供訪問器和變異器方法(get/set);
下面介紹這四種許可權(相對成員而言)
1, 包訪問許可權,在同一包中的類可以訪問; 2, Public:介面訪問許可權,任何類都可以訪問; 3, Private:你無法訪問,除了包含該成員的類,其他類都可以訪問。 4, Protected:繼承訪問許可權,包括包訪問許可權。在同一包中,還有就是子類可以訪問。
類的訪問許可權類的訪問
只有兩種:包訪問許可權或public(用法同上) 如果不希望其他類擁有該類的訪問許可權,可以把這個來說有的構造器制定為private(比如單列模式)。
H. Java項目怎麼控制許可權啊
用過濾器實現 ..需要進行web.xml的手工配置,
步驟一般是建一個過濾器,在doFilter這個方專法里寫驗證session 中用戶的許可權屬,如果不符,則不能進入你所配置訪問的文件夾內所有的JSP頁面了..它便會自動重定向到你的指定頁,比如登入頁等
還有就是配置XML文件了.有多個許可權可以配置多個文件夾
下面是配置的代碼..
<filter>
<filter-name>AdminFilter</filter-name>
<filter-class>group1.filter.AdminFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AdminFilter</filter-name>
<url-pattern>/affiche/*</url-pattern>
</filter-mapping>
I. java 許可權管理系統中數據許可權的設計與使用
感覺你這個太強悍了。
一般都是給菜單授權,角色授予菜單,授予菜單許可權的用戶回能操作答相應的菜單。
你這個是給角色授予查詢表的許可權,還有多少條記錄的。
查多少條記錄,這個真心不知道怎麼搞;
授予查詢表的許可權的這個應該不難,每次查之前都先驗證一下是否在授權范圍之類。
多表查詢的只要一個不滿足就不能查詢。
J. java中訪問許可權的控制。java默認的是包訪問許可權,但是對於有些情況如何處理呢。例如有四組類abcd(每組里
如果不考慮其他的類的話,c訪問d,a不能訪問d,那麼把d相關許可權設為default,a,c處在不同包里,c、d在同一個包里。a,c都訪問b,那麼就讓b的許可權設為公開。
但這可能導致包之間管理的混亂。
如果一定要跨包訪問,但又不願設立public的訪問許可權,那麼單靠JAVA語言的訪問控制很難做到,則可以稍微提升一下耦合度,並藉助多態來實現。
比方說,a、b是兩個不同的包,要讓a能訪問b的default的東西,那麼可以如下:
a設立一個介面:
publicinterfaceIA
{
voidF();
}
某個要使用b的函數
publicclassA1
{
……
privateIAa;
……
publicvoidG(IAa)
{
……
this.a=a;//這樣就可以在別的方法里用
a.F();//多態,a根本不知道b里有什麼類也能訪問相應的方法。
……
}
}
以上是a里的,下面是b里的:
如果是整個類都是default的
classB1implementsIA
{
publicvoidF(){……}
publicB1()
{
newA1().G(this);//這樣就把自己傳給了a,a不用知道自己是什麼東東也能使用F方法。
}
}
如果是類的部分方法為default的
publicclassB2
{
……
voidFF();//想讓這個方法被a調用。
privateclassB22implementsIA//把B22的實例傳給a
{
publicvoidF()
{
FF();//這就等於讓a調用FF方法了。
}
}
}
上面這種方法缺點不少,得由b親自把自己的實例傳給a,使得類間的關系變得有點復雜,但是用好了還是可以最大程度降低其缺點。
上面這種結果是你要的嗎?還有什麼特別的要求嗎?