當前位置:編程學習大全網 - 源碼下載 - 源代碼權限控制

源代碼權限控制

關於權限管理,如果是網站,最簡單的辦法就是使用過濾器。它由用戶訪問的URL控制。

這樣在寫控件或者網頁的時候,就不用考慮權限問題了!權限由篩選器管理。

spring的servlet.xml配置如下:

& lt!-權限系統攔截-& gt;

& ltmvc:攔截器& gt

& ltmvc:攔截器& gt

& ltmvc:映射路徑= "/admin/* * "/& gt;

& ltbean class = " com . zmax . web . spring . admincontext interceptor " & gt;

& lt!-開發模式,懶得登錄-& gt;

& ltproperty name = " devmode " value = " 1 "/& gt;

& ltproperty name = " auth " value = " true "/& gt;

& ltproperty name = " log in URL " value = "/admin/log in . do "/& gt;

& ltproperty name = " returnUrl " value = "/admin/index . do "/& gt;

& ltproperty name = " excludeUrls " & gt

& lt列表& gt

& lt值& gt/test . do & lt;/value & gt;

& lt值& gt/log in . do & lt;/value & gt;

& lt值& gt/logout . do & lt;/value & gt;

& lt/list & gt;

& lt/property & gt;

& lt/bean & gt;

& lt/MVC:interceptor & gt;

對應的JAVA代碼:

包com . zmax . utils;

導入javax . servlet . http . http servlet request;

導入javax . servlet . http . http servlet response;

導入org . Apache . log4j . logger;

導入org . spring framework . web . servlet . modeland view;

import org . spring framework . web . servlet . handler . handlerinterceptoradapter;

公共類AdminContextInterceptor擴展HandlerInterceptorAdapter{

private static final Logger Logger = Logger . get Logger(admincontext interceptor . class);

@覆蓋

公共布爾預處理(HttpServletRequest請求,

HttpServletResponse響應,對象處理程序)引發異常{

if (logger.isDebugEnabled())

Logger.debug("權限預處理");

//獲取用戶訪問的地址。

String uri = getURI(請求);

//不在驗證範圍內。

if(排除(uri)) {

返回true

}

AdminUser AdminUser =(AdminUser)session . get attribute(request,SessionName。ADMINUSER);

//空用戶跳轉到登錄頁面。

if (adminUser == null) {

if(devmode = = null | | devmode . equals(0)){

response . send redirect(getLoginUrl(request));

返回false

}

}

//如果用戶權限不足,跳轉到登錄頁面。

if(checkAdmin(adminUser,uri)){

response . send redirect(getLoginUrl(request));

返回false

}否則{

//權限足夠,返回true。

adminUser = adminuserservice . get(devmode);

session.setAttribute(請求,響應,會話名稱。ADMINUSER、ADMINUSER);

返回true

}

返回true

}

@覆蓋

公共void post handle(http servlet request請求,

HttpServletResponse響應,對象處理程序,ModelAndView mav)

引發異常{

if (logger.isDebugEnabled())

Logger.debug("權限處理");

}

@覆蓋

完成後公共void(http servlet request請求,

HttpServletResponse響應,對象處理程序,異常ex)

引發異常{

if (logger.isDebugEnabled())

Logger.debug("權限後處理");

}

}

  • 上一篇:微信直播功能開通,微信怎麽直播?
  • 下一篇:layerui如何使用LayerUI
  • copyright 2024編程學習大全網