java數(shù)據(jù)權(quán)限代碼 用戶角色權(quán)限java代碼

java 中如何實(shí)現(xiàn)權(quán)限管理

struts攔截器不推薦使用 建議使用spring AOP 面向切面 統(tǒng)一權(quán)限操作當(dāng)做一類失誤處理 對(duì)于數(shù)據(jù)庫權(quán)限 簡單權(quán)限可以設(shè)定一張權(quán)限表 復(fù)雜權(quán)限 但權(quán)限沒有從屬關(guān)系可以使用2進(jìn)制表示 0101010 0和1分別代表是否具有該權(quán)限操作 多級(jí)權(quán)限表結(jié)構(gòu)又相應(yīng)復(fù)雜

目前創(chuàng)新互聯(lián)已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、攀枝花網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

給你一個(gè)簡單的管理代碼

public class CheckIdAdvice implements MethodInterceptor {

protected final Log log = LogFactory.getLog(getClass());

public Object invoke(MethodInvocation invocation) throws Throwable {

String methodName = invocation.getMethod().getName();

for(int i=0;iConstant.levelOneMethod.length;i++)

{

if(Constant.levelOneMethod[i].equals(methodName))

{

Map map=(Map) ActionContext.getContext().get("session");

Admin admin=(Admin)map.get("admin");

if(admin.getQuanxian()!=nulladmin.getQuanxian()=1)

{

return invocation.proceed();

}

else

{

log.info("進(jìn)入失敗");

return false;

}

}

}

for(int i=0;iConstant.levelTwoMethod.length;i++)

{

if(Constant.levelTwoMethod[i].equals(methodName))

{

Map map=(Map) ActionContext.getContext().get("session");

Admin admin=(Admin)map.get("admin");

if(admin.getQuanxian()!=nulladmin.getQuanxian()=3)

{

return invocation.proceed();

}

else

{

log.info("進(jìn)入失敗");

return false;

}

}

}

for(int i=0;iConstant.levelThreeMethod.length;i++)

{

if(Constant.levelThreeMethod[i].equals(methodName))

{

Map map=(Map) ActionContext.getContext().get("session");

Admin admin=(Admin)map.get("admin");

if(admin!=nulladmin.getQuanxian()=5)

{

return invocation.proceed();

}

else

{

log.info("進(jìn)入失敗");

return false;

}

}

}

return invocation.proceed();

}

}

java 數(shù)據(jù)權(quán)限應(yīng)該怎么實(shí)現(xiàn)

在定義的方法或?qū)ο髷?shù)據(jù)前加上

public(共享的)允許所有的類訪問

private(私有的)僅允許與本身的類訪問

protected(半共享的)允許本身的類訪問并且允許子類訪問

小白一只,說的可能不是很規(guī)范。。。。多多包涵

java 中怎么做權(quán)限系統(tǒng)的控制和分配?

下面是一個(gè)java的web權(quán)限管理模塊的應(yīng)用與實(shí)現(xiàn)。

先介紹數(shù)據(jù)模型和應(yīng)用界面,后繼對(duì)實(shí)現(xiàn)細(xì)節(jié)做選擇性闡述。

數(shù)據(jù)表關(guān)系如下:

該圖標(biāo)明了登陸用戶、角色、部門(機(jī)構(gòu))、用戶組、角色和模塊功能之間的關(guān)系。為方便起見,所有表都只保留必要字段。

在本系統(tǒng)設(shè)計(jì)中,如下概念有著相對(duì)特殊的含義。

一、用戶(user): 系統(tǒng)的使用者。

二、部門(org):體現(xiàn)了用戶的行政關(guān)系,

三、組(group) :是某相同職能的用戶的集合,可以和用戶一樣與角色產(chǎn)生關(guān)聯(lián)。設(shè)置組的目的是為了方便用戶的角色分配,減少用戶與角色的直接對(duì)應(yīng)關(guān)系。用戶的角色可以是其組角色和其直接分配的角色之合集。限于作者的時(shí)間和精力,組功能在該系統(tǒng)中沒有具體的實(shí)現(xiàn)。

四、角色(role):角色對(duì)應(yīng)著某些功能(function)的集合,被分配一個(gè)角色意味著有權(quán)執(zhí)行這些功能。角色表中的字段"functions"記錄相關(guān)的功能id,id之間用逗號(hào)隔開。

五、功能(function):系統(tǒng)的一個(gè)或者多個(gè)執(zhí)行準(zhǔn)入。

java 登錄時(shí) 的權(quán)限 問題?怎么設(shè)置?

在web應(yīng)用中,對(duì)頁面的訪問控制通常通過程序來控制,流程為:

登錄 - 設(shè)置session - 訪問受限頁面時(shí)檢查session是否存在,如果不存在,禁止訪問

對(duì)于較小型的web應(yīng)用,可以通過tomcat內(nèi)置的訪問控制機(jī)制來實(shí)現(xiàn)權(quán)限控制。采用這種機(jī)制的好處是,程序中無需進(jìn)行權(quán)限控制,完全通過對(duì)tomcat的配置即可完成訪問控制。

為了在tomcat頁面設(shè)置訪問權(quán)限控制,在項(xiàng)目的WEB-INFO/web.xml文件中,進(jìn)行如下設(shè)置:

Java代碼 復(fù)制代碼

1. web-app

2. !--servlet等其他配置--

3. security-constraint

4. web-resource-collection

5. web-resource-nameMy Test/web-resource-name

6. url-pattern/admin/*/url-pattern

7. /web-resource-collection

8. auth-constraint

9. role-namerole1/role-name

10. role-nametomcat/role-name

11. /auth-constraint

12. /security-constraint

13. login-config

14. auth-methodBASIC/auth-method

15. realm-nameMy Test/realm-name

16. /login-config

web-app

!--servlet等其他配置--

security-constraint

web-resource-collection

web-resource-nameMy Test/web-resource-name

url-pattern/admin/*/url-pattern

/web-resource-collection

auth-constraint

role-namerole1/role-name

role-nametomcat/role-name

/auth-constraint

/security-constraint

login-config

auth-methodBASIC/auth-method

realm-nameMy Test/realm-name

/login-config

其中,url-pattern中指定受限的url,可以使用通配符*,通常對(duì)整個(gè)目錄進(jìn)行訪問權(quán)限控制。

auth-constraint中指定哪些角色可以訪問url-pattern指定的url,在role-name中可以設(shè)置一個(gè)或多個(gè)角色名。

使用的角色名來自tomcat的配置文件$/conf/tomcat-users.xml。

login-config中設(shè)置登錄方式,auth-method的取值為BASIC或FORM。如果為BASIC,瀏覽器在需要登錄時(shí)彈出一個(gè)登錄窗口。如果為FORM方式,需要指定登錄頁面和登錄失敗時(shí)的提示信息顯示頁面。

使用FORM方式的配置樣例如下:

Java代碼 復(fù)制代碼

1. login-config

2. auth-methodFORM/auth-method

3. realm-nameExample Form-Based Authentication Area/realm-name

4. form-login-config

5. form-login-page/login.jsp/form-login-page

6. form-error-page/error.jsp/form-error-page

7. /form-login-config

8. /login-config

login-config

auth-methodFORM/auth-method

realm-nameExample Form-Based Authentication Area/realm-name

form-login-config

form-login-page/login.jsp/form-login-page

form-error-page/error.jsp/form-error-page

/form-login-config

/login-config

其中的form-login-page指定登錄頁面url,form-error-page指定登錄失敗時(shí)的提示頁面url。

登錄頁面中,form的action,以及其中的用戶名和密碼兩個(gè)參數(shù)的名稱,都應(yīng)取固定的值。登錄的后臺(tái)處理程序?yàn)閖_security_check;用戶名和密碼的參數(shù)名稱分別為:j_username和j_password。

如下是登錄頁面(如:login.jsp)的一段示例代碼:

Java代碼 復(fù)制代碼

1. form method="POST" action='%= response.encodeURL("j_security_check") %'

2. table border="0" cellspacing="5"

3. tr

4. th align="right"Username:/th

5. td align="left"input type="text" name="j_username"/td

6. /tr

7. tr

8. th align="right"Password:/th

9. td align="left"input type="password" name="j_password"/td

10. /tr

11. tr

12. td align="right"input type="submit" value="Log In"/td

13. td align="left"input type="reset"/td

14. /tr

15. /table/form

標(biāo)題名稱:java數(shù)據(jù)權(quán)限代碼 用戶角色權(quán)限java代碼
網(wǎng)頁地址:http://muchs.cn/article10/doccsdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)微信小程序、商城網(wǎng)站網(wǎng)站排名、GoogleApp設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站