- 配置登录拦截器是防止在未登录的情况访问不该访问的资源
- 》原理图
-
- 》实现步骤
- 登录拦截器一般配置合session使用,我们需要把登录信息放置在session里
|
- 登录拦截器代码
public class BOSLoginInterceptor extends MethodFilterInterceptor{
@Override protected String doIntercept(ActionInvocation invocation) throws Exception { // TODO Auto-generated method stub User loginUser = (User) ServletActionContext.getRequest().getSession().getAttribute("loginUser"); if(loginUser == null){ //未登录,回来登录界面 return "login"; } //放行 return invocation.invoke(); } } |
- Struts配置拦截器代码
<interceptors> <interceptor name="BOSLoginInterceptor" class="com.huaizhi.bos.web.interceptor.BOSLoginInterceptor"> <!-- 排除 login方法拦截--> <param name="excludeMethods">login</param> </interceptor> <!-- 配置拦截器栈 --> <interceptor-stack name="mystack"> <interceptor-ref name="BOSLoginInterceptor"/> <interceptor-ref name="defaultStack"/> </interceptor-stack> </interceptors>
<!-- 指定默认拦截栈 --> <default-interceptor-ref name="mystack"/>
<!-- 配置一个全局的result --> <global-results> <result name="login">login.jsp</result> </global-results> |