Struts攔截器實(shí)現(xiàn)攔截未登陸用戶實(shí)例解析-創(chuàng)新互聯(lián)

本文研究的主要是Struts攔截器實(shí)現(xiàn)攔截未登陸用戶,具體實(shí)現(xiàn)如下。

創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開發(fā),軟件開發(fā),成都小程序開發(fā),10年建站對(duì)地磅秤等多個(gè)領(lǐng)域,擁有豐富的網(wǎng)站推廣經(jīng)驗(yàn)。

首先建立一個(gè)工具類:


checkPrivilegeInterceptor:這個(gè)類繼承interceptor,這是一個(gè)接口,要實(shí)現(xiàn)三個(gè)方法,要是覺得比較多的話,可以繼承他的實(shí)現(xiàn)類AbstractInterceptor,繼承這個(gè)類以后只需要重寫一個(gè)方法,就是在這個(gè)方法里面控制,是否登錄,登錄以后有哪些權(quán)限,等等,代碼如下;

package com.cjdx.utils;
import javax.annotation.Resource;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import com.cjdx.domain.User;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
//檢查是否有權(quán)限,這里只檢查知否登錄
public class CheckPrivilegeInterceptor extends AbstractInterceptor {
	@Override
	  public String intercept(ActionInvocation invocation) throws Exception {
		User user = (User) ActionContext.getContext().getSession().get("user");
		String nameSpace = invocation.getProxy().getNamespace();
		String actionName = invocation.getProxy().getActionName();
		String privilegeUrl = nameSpace + actionName;
		if (user == null) {
			// 如果用戶沒有登錄
			if (privilegeUrl.startsWith("/user_login")) {
				//如果用戶準(zhǔn)備去登錄,則放行
				return invocation.invoke();
			}
			{
				return "loginUI";
				//如果用戶不是去登錄,又沒有登錄,則轉(zhuǎn)到登錄頁面
			}
		} else {
			return invocation.invoke();
			//如果用戶已經(jīng)登錄,則執(zhí)行相應(yīng)的方法
		}
	}
}

標(biāo)題名稱:Struts攔截器實(shí)現(xiàn)攔截未登陸用戶實(shí)例解析-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://www.muchs.cn/article44/ejphe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)虛擬主機(jī)、手機(jī)網(wǎng)站建設(shè)、面包屑導(dǎo)航、網(wǎng)站建設(shè)、網(wǎng)站設(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)頁設(shè)計(jì)公司