URL權限過濾(2)

[size=large][color=red][b]如果您發現內容含有錯誤或公司內部信息,請予以指出,本人不勝感激。。。。[/b][/color][/size]

/**
* @param url
* 當前請求的url
* @param loginUser
* 當前登錄用戶
* @throws IOException
* @throws ServletException
*/
private void verifyUrl(String url, LoginUser loginUser) throws IOException,
ServletException {

// 獲取user擁有的所有資源串
String sturl = loginUser.getUrl();
System.out.println("可以訪問的地址--->" + sturl);

String url1 = null;
String url2 = null;
String url3 = null;
url1 = url.substring(0, url.indexOf("/"));

if (sturl.indexOf(url) >= 0) {
System.out.println("有權訪問!");
chain.doFilter(request, response);
return;
}

url1 = url.substring(0, url.indexOf("/") + 1);
if (sturl.indexOf(url1 + "*") >= 0) {
System.out.println("有權訪問!");
chain.doFilter(request, response);
return;
}

url2 = url.substring(url1.length(), url.length());
if (null != url2) {
while (url2.contains("/")) {
url2 = url.substring(url1.length(), url.length());
url1 = url1 + url2.substring(0, url2.indexOf("/") + 1);
url3 = url1 + "*";
System.out.println("可以訪問的地址url3--->" + url3);
if (sturl.indexOf(url3) >= 0) {
System.out.println("有權訪問!");
chain.doFilter(request, response);
return;
}
}
}
System.out.println("無權限!");
response.setContentType("text/html;charset=UTF-8");
response.getWriter().println("<div>Sorry,您沒有權限訪問該資源!</div>");
}

/**
* 是否需要判斷權限,如客戶端瀏覽、登錄頁面則不需要判斷權限
*/
protected boolean noVerifyUrl(String url, HttpServletRequest request) {
// login.action
String exclude = "login.jsp,loginAction.action";
if (exclude.indexOf(url) >= 0) {
return true;
}
return false;
}

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章