自定义拦截器进行登陆验证
编程技术  /  houtizong 发布于 3年前   117
自定义拦截器进行登陆验证
拦截器代码:
package com.hpu.interceptor;import java.util.Map;import com.hpu.model.Manager;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class LoginInterceptor extends AbstractInterceptor {@Overridepublic String intercept(ActionInvocation invocation) throws Exception {ActionContext acx = invocation.getInvocationContext();Map<String , Object> session = acx.getSession();// 获取Session里面的管理员Manager manager = (Manager) session.get("manager"); if(manager == null) {// 未登陆返回登陆界面return Action.LOGIN;} else {// 登陆后,继续执行return invocation.invoke();}}}
配置拦截器:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <constant name="struts.devMode" value="true" /> <constant name="struts.objectFactory" value="spring" /> <constant name="struts.i18n.encoding" value="gbk"/> <!--不受权限控制的Action请求配置--> <package name="non-authority" namespace="/" extends="struts-default" > <default-action-ref name="login" /> <!-- 登陆界面的Action --> <action name="login" class="com.hpu.action.LoginAction" method="login"> <result>/WEB-INF/manager/login.jsp</result> </action> </package><!--受权限控制的Action请求配置--> <package name="manager" namespace="/manager" extends="struts-default"> <interceptors> <!-- 定义一个登陆验证的拦截器 --> <interceptor name="authority" class="com.hpu.interceptor.LoginInterceptor" /> <!-- 定义一个带有登陆验证的拦截器栈 --> <interceptor-stack name="myStack"> <!-- 配置默认拦截器 --> <interceptor-ref name="defaultStack" /> <!-- 增加登陆验证拦截器 --> <interceptor-ref name="authority" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="myStack" /> <global-results> <result name="login">/WEB-INF/manager/login.jsp</result> </global-results> <action name="userAdd" class="com.hpu.action.UserAction" method="add"> <result type="redirectAction"><param name="actionName">user_query</param><param name="room.id">${ user.room.id }</param><param name="pageNumber">1</param></result> <result type="chain" name="input">user_intake</result> </action> </package></struts>
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接