當前位置:首頁 » 編程語言 » 許可權管理java

許可權管理java

發布時間: 2024-07-17 21:58:16

『壹』 現本人要做一個許可權管理模塊,急需java寫的許可權管理模塊的源碼一份做為參考,要求能夠演示的

關於許可權管理,如果是網站的話,最簡單的方式就是用過濾器。通過用戶訪問的URL進行控制。
這種方式,在寫控制或網頁時,不用考慮許可權問題!許可權由過濾器統一管理。
spring 的servlet.xml配置如下:
<!-- 許可權系統 攔截 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/admin/**" />
<bean class="com.zmax.web.spring.AdminContextInterceptor">
<!-- 開發模式,懶得登錄 -->
<property name="devmode" value="1"/>
<property name="auth" value="true" />
<property name="loginUrl" value="/admin/login.do" />
<property name="returnUrl" value="/admin/index.do" />
<property name="excludeUrls">
<list>
<value>/test.do</value>
<value>/login.do</value>
<value>/logout.do</value>
</list>
</property>
</bean>
</mvc:interceptor>
相應的JAVA代碼:
package com.zmax.utils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

public class AdminContextInterceptor extends HandlerInterceptorAdapter{
private static final Logger logger = Logger.getLogger(AdminContextInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
if (logger.isDebugEnabled())
logger.debug("許可權預處理");
//獲取用戶訪問的地址
String uri = getURI(request);
// 不在驗證的范圍內
if (exclude(uri)) {
return true;
}
AdminUser adminUser=(AdminUser)session.getAttribute(request, SessionName.ADMINUSER);
// 用戶為null跳轉到登陸頁面
if (adminUser == null) {
if(devmode==null||devmode.equals(0)){
response.sendRedirect(getLoginUrl(request));
return false;
}
}
//如果用戶許可權不夠,跳到登錄頁面
if(checkAdmin(adminUser,uri)){
response.sendRedirect(getLoginUrl(request));
return false;
}else{
//許可權夠了,返回true
adminUser=adminUserService.get(devmode);
session.setAttribute(request, response, SessionName.ADMINUSER, adminUser);
return true;
}

return true;
}

@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler, ModelAndView mav)
throws Exception {
if (logger.isDebugEnabled())
logger.debug("許可權處理");

}

@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
if (logger.isDebugEnabled())
logger.debug("許可權後處理");
}
}

『貳』 javaweb許可權管理,用戶的許可權數據該存放在哪裡

配置一個servlet,在容器啟動時自載入許可權,並且通過資源表的數據信息,將每一條資源中的resourceURL與AuthorityName(許可權名)進行配對。這里的resourceURL可能對應多個許可權,所以Map集合內的Collection集合就是用來配置多個許可權的,驗證時需匹配該集合內所有的許可權。所以URL可以重復錄入資料庫,但許可權不能重復。
AuthorityDataMap,建立這個類用來存放經過許可權匹配後的許可權信息,是項目所有的許可權集合。緩存在servlet上下文中。

『叄』 java如何做許可權管理

思路:

1、用戶表 user;

2、角色表 role;

3、菜單 menu;

4、角色菜單許可權表 role_menu;

5、用戶菜單許可權表 user_menu;

『肆』 javaweb 項目的系統許可權管理,怎麼設計

java web 項目的系統許可權管理設計方法有兩種:
方法一、SpringMVC整合Shiro (Shiro是強大的許可權管理框架)
參考:http://www.360doc.com/content/14/0529/09/11298474_381916189.shtml

方法二、基於角色的訪問許可權控制
基於角色的訪問許可權控制
首先基於角色的訪問許可權控制,所有的用戶訪問都會經過過濾,然後分析訪問許可權加以認證!許可權中的重點,表的設計。

普遍三張表,表名自定義。用戶表(User),角色表(Role),資源表(Resource)
用戶表沒有特別,很簡單。關鍵是角色表和資源表。

『伍』 什麼是Java類的訪問許可權

在解釋訪問許可權控制之前,先看一個場景。

在學生信息管理系統中,有兩個類,分別是學生類和課程類,課程類提供了課程表和課程安排兩個方法,學生類可以調用課程類提供的課程表查看課程安排,但不能調用課程安排方法,該如何處理,此時就可以利用訪問許可權來進行控制。

在Java中,提供了四種訪問許可權控制:默認訪問許可權(包訪問許可權),public,private以及protected。

默認訪問許可權(default):即不加任何訪問修飾符,通常稱為「默認訪問模式「。該模式下,只允許在同一個包中進行訪問。

private: 對訪問許可權限制的最窄的修飾符,一般稱之為「私有的」。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。

protect: 介於public 和 private 之間的一種訪問修飾符,一般稱之為「保護的」。被其修飾的類、屬性以及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。

public: Java語言中訪問限制最寬的修飾符,一般稱之為「公共的」。被其修飾的類、屬性以及方法不僅可以跨類訪問,而且允許跨包(package)訪問。下表列出了四種訪問許可權的控制粒度:

packagecom.cxh.test1;
classPeople{//默認訪問許可權(包訪問許可權)
privateStringname=null;
publicPeople(Stringname)
{
this.name=name;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname)
{
this.name=name;
}
}

從代碼可以看出,修飾People類採用的是默認訪問許可權,而由於People類和Main類在同一個包中,因此People類對於Main類是可見的。

『陸』 java 許可權管理系統中數據許可權的設計與使用

建立一個角色資源表,表中各種資源設置不同的類型,比如菜單類型為0,數據許可權類型為1等等,表中也可以規定能訪問的數據規則,取得表中數據規則放到sql語句。

熱點內容
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:100
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:208
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554
雲伺服器的優點與缺點 發布:2024-09-08 06:30:34 瀏覽:734
上傳下載賺錢 發布:2024-09-08 06:14:51 瀏覽:258