91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Struts攔截器實現攔截未登陸用戶實例解析

發布時間:2020-09-17 18:42:20 來源:腳本之家 閱讀:154 作者:小糖豆巴拉巴拉 欄目:編程語言

本文研究的主要是Struts攔截器實現攔截未登陸用戶,具體實現如下。

首先建立一個工具類:

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

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;
//檢查是否有權限,這里只檢查知否登錄
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")) {
				//如果用戶準備去登錄,則放行
				return invocation.invoke();
			}
			{
				return "loginUI";
				//如果用戶不是去登錄,又沒有登錄,則轉到登錄頁面
			}
		} else {
			return invocation.invoke();
			//如果用戶已經登錄,則執行相應的方法
		}
	}
}

然后再配置struts2.xml里:

<!-- 登錄攔截器的聲明 -->
    <interceptors>
      <!-- 聲明你已經寫好的攔截器 -->
      <interceptor name="checkPrivilege"
        class="com.cjdx.utils.CheckPrivilegeInterceptor"></interceptor>
      <!-- 將已經聲明的攔截器加到默認的攔截器里面去 -->
      <!-- 這個攔截器的名字就叫做defaultStack,這樣就直接覆蓋了原來的defaultStack -->
      <!-- 如果不這樣寫,還可以在像注釋這樣添加 -->
      <interceptor-stack name="defaultStack">
        <interceptor-ref name="checkPrivilege"></interceptor-ref>
        <interceptor-ref name="defaultStack"></interceptor-ref>
      </interceptor-stack>
      <!-- 
      <interceptor-stack name="myStack">
        <interceptor-ref name="checkPrivilege"></interceptor-ref>
        <interceptor-ref name="defaultStack"></interceptor-ref>
      </interceptor-stack>
      <interceptor-stack name="defaultStack">
        <interceptor-ref name="myStack"></interceptor-ref>
      </interceptor-stack>
       -->
    </interceptors>

總結

以上就是本文關于Struts攔截器實現攔截未登陸用戶實例解析的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永善县| 宾川县| 东兰县| 仁寿县| 玉环县| 陵川县| 睢宁县| 如东县| 北流市| 新昌县| 景谷| 富锦市| 双牌县| 盘山县| 永春县| 香港| 深圳市| 彭州市| 岳普湖县| 镇安县| 铜梁县| 武胜县| 遂溪县| 莲花县| 新田县| 横峰县| 靖安县| 朝阳县| 绵阳市| 翁牛特旗| 泰顺县| 阳泉市| 青河县| 佛冈县| 繁峙县| 镇远县| 开鲁县| 余庆县| 红桥区| 宜春市| 当阳市|