后台权限校验拦截器

拦截器类

/*
 * 后台权限校验的拦截器
 * *对没有登陆的用户,不可以进行访问
 */
public class PrivilegeInterceptor extends MethodFilterInterceptor {

    @Override
    //执行拦截的方法
    protected String doIntercept(ActionInvocation actionInvocation) throws Exception {
        //判断session中是否保存了后台用户的信息
        AdminUser existAdminUser=(AdminUser) ServletActionContext.getRequest().getSession().getAttribute("existAdminUser");
        if(existAdminUser==null){
            //没有登录进行访问
            ActionSupport actionSupport=(ActionSupport) actionInvocation.getAction();
            actionSupport.addActionError("亲,您还没有登陆!没有权限访问!");
            return "loginFail";
        }else{
            //已经登陆过
            return actionInvocation.invoke();
        }
    }

}

Struts

<!-- 配置拦截器 -->
        <interceptors>
            <interceptor name="PrivilegeInterceptor" class="cn.itcast.shop.interceptor.PrivilegeInterceptor"/>
        </interceptors>

        <!-- 全局页面 -->
        <global-results>
            <result name="loginFail">/admin/index.jsp</result>
        </global-results>

<!-- 配置后台一级分类管理的Action -->
        <action name="adminCategory_*" class="adminCategoryAction" method="{1}">
            <result name="findAll">/admin/category/list.jsp</result>
            <result name="saveSuccess" type="redirectAction">adminCategory_findAll.action</result>
            <result name="deleteSuccess" type="redirectAction">adminCategory_findAll.action</result>
            <result name="editSuccess">/admin/category/edit.jsp</result>
            <result name="updateSuccess" type="redirectAction">adminCategory_findAll.action</result>

            <interceptor-ref name="PrivilegeInterceptor"></interceptor-ref>
            <!-- 引入默认的拦截器 -->
            <interceptor-ref name="defaultStack"></interceptor-ref>
        </action>

JSP

红色代码具有实时刷新的作用,使用拦截器必须要有它

<form method="post" action="${pageContext.request.contextPath }/adminUser_login.action" target="_parent" name=‘theForm‘>

</form>
时间: 2024-08-25 00:24:32

后台权限校验拦截器的相关文章

Struts开发一个权限验证拦截器来判断用户是否登录

开发一个权限验证拦截器来判断用户是否登录 当用户请求受保护资源时,先检查用户是否登录 如果没有登录,则向用户显示登录页面 如果已经登录,则继续操作 实现步骤 开发权限验证拦截器 在配置文件中定义拦截器并引用它 开发权限验证拦截器 public class AuthInterceptor extends AbstractInterceptor { public String intercept(ActionInvocation invocation) throws Exception { //获取

Struts 2 类型转换器 输入校验 拦截器

Struts 2中内建了字符串类型和常见类型之间相互转换的转换器,能满足大多数转换需求,但不能完成字符串和User对象之间的转换. OGNL项目中有一个TypeConvert接口,这个接口是自定义类型转换器必须要实现的接口,OGNL还提供了一个实现类: DefaultTypeConverter,自定义类型转换器(UserConverter类)须重写DefaultTypeConverter类的convertValue()方法.该方法可以实现字符串和对象之前相互转换 注册局部类型转换器:注册局部类型

Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码

本问主要介绍asp.net的身份验证机制及asp.net MVC拦截器在项目中的运用.现在让我们来模拟一个简单的流程:用户登录>权限验证>异常处理 1.用户登录 验证用户是否登录成功步骤直接忽略,用户登录成功后怎么保存当前用户登录信息(session,cookie),本文介绍的是身份验证(其实就是基于cookie)的,下面看看代码. 引入命名空间 using System.Web.Security; Users ModelUser = new Users() { ID = 10000, Nam

019医疗项目-模块一:用户身份校验拦截器的调试

这次调试发现两个问题: 主要如下: 1.在嵌入的页面中,如果session过期了,跳转到登陆页面 现象: 登陆页面是嵌入在页面中. 解决办法: 找到登录的jsp页面:login.jsp.然后修改里面的登陆提交的回调方法, 问题解决: 解决后如下: 还有问题: 问题2: 3.当执行一个提交操作时,session过期,应该跳转登陆页面,本系统提交返回是json(SubmitResultInfo) ,由于LoginInterceptor拦截器作用,拦截了,返回了登陆页面. 无法解析登陆页面内容. 问题

案例47-crm练习登录校验拦截器

1 LoginInterceptor package www.test.web.interceptor; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.int

springMVC学习(12)-使用拦截器

一.拦截器配置和测试: 1)定义两个拦截器,(要实现HandlerInterceptor接口) HandlerInterceptor1: 1 package com.cy.interceptor; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpServletResponse; 5 6 import org.springframework.web.servlet.HandlerIn

【ssm】拦截器的原理及实现

一.背景: 走过了双11,我们又迎来了黑色星期五,刚过了黑五,双12又将到来.不管剁手的没有剁手的,估计这次都要剁手了!虽然作为程序猿的我,没有钱但是我们长眼睛了,我们关注到的是我们天猫.淘宝.支付宝之间的登录系统的关联,即只要我们在一个系统上登陆过了,在同门户的其他系统上就不用再次登陆了,这个涉及到的是我们的接下来下次要聊到的--SSO(单点登录):而这次我们要聊的,是我们的拦截器,因为只要我们没有登录,随便输入一个合法的地址涉及到订单或者隐私信息的内容时,就会被干到登录页面上去,这就是我们的

SpringMVC学习--拦截器

简介 Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理. 拦截器定义 定义拦截器,实现HandlerInterceptor接口.接口中提供三个方法. 1 public class HandlerInterceptor1 implements HandlerInterceptor { 2 3 4 //进入 Handler方法之前执行 5 //用于身份认证.身份授权 6 //比如身份认证,如果认证通过表示当前用户没有登陆,需

【SpringMVC学习11】SpringMVC中的拦截器

Springmvc的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下springmvc中拦截器是如何定义的,以及测试拦截器的执行情况和使用方法. 1. springmvc拦截器的定义和配置 1.1 springmvc拦截器的定义 在springmvc中,定义拦截器要实现HandlerInterceptor接口,并实现该接口中提供的三个方法,如下: //测试拦截器1 public class HandlerInterceptor1 im