`

用拦截器实现用户权限

阅读更多

1.要在struts.xml文件中添加下面的代码:

<package name="struts2" extends="struts-default">
    <!--自定义拦截器(没有登录的就返回到login)-->
        <interceptors>
            <interceptor name="sessionNull" class="com.hoperun.action.SessionNullInterceptor">
            </interceptor>
        </interceptors>
        <global-results>
            <result name="login" type="redirect">/sessionValid.jsp</result>
        </global-results
>

还要在具体action的跳转配置中添加下面代码:

<action name="orderSearch" class="com.hoperun.action.OrderSearchAction">
            <result name="success" >/orderSearch.jsp</result>
            <interceptor-ref name="sessionNull"></interceptor-ref>
               <interceptor-ref name="defaultStack"/>
        </action>

如果不加上面蓝色的部分,页面域中的值就不能带到下个页面,因为定义了自己的拦截器,系统传值的拦截器就失效了,所以加上这条系统默认的拦截器就生效了

2.下面是SessionNullInterceptor的拦截器具体代码:

package com.hoperun.action;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

/**
* session为空拦截器
*/
public class SessionNullInterceptor implements Interceptor {
private static final long serialVersionUID = 1L;

public void destroy() {
}

public void init() {
}

public String intercept(ActionInvocation invocation) throws Exception {
   HttpServletRequest req = ServletActionContext.getRequest();
   if (req.getSession().getAttribute("username") == null) {
    return Action.LOGIN;
   } else {
    return invocation.invoke();
   }
}

}

3,对了还不能忘记在login.acton中添加如下代码:

if(result==true)
        {
        Map<String,String> map = ActionContext.getContext().getSession();           
            map.put("username",username);
        
            return SUCCESS;
        }

这样如果你没有充login.jsp登录进来而直接去访问系统的其他页面时,就不能查看你想看的页面,而是会自动跳转到sessionValid.jsp页面去

 

分享到:
评论

相关推荐

    struts2 用拦截器 实现用户权限登录

    本教程将详细介绍如何使用Struts2的拦截器来实现用户权限登录功能。 ### 一、拦截器的原理与作用 1. **原理**:拦截器工作在Action调用之前,它通过观察者模式实现,当一个请求到达时,会按照配置的顺序依次执行...

    mybatis拦截器实现通用权限字段添加的方法

    MyBatis拦截器实现通用权限字段添加的方法 MyBatis拦截器是一种非常实用的技术,可以用来实现各种复杂的数据库操作。本文将详细介绍如何使用MyBatis拦截器来实现通用权限字段添加,达到灵活、可靠、可维护的数据库...

    企业级开发-SpringMVC使用拦截器实现用户登录权限验证实验报告.docx

    本实验报告将探讨如何利用 SpringMVC 的拦截器(Interceptor)来实现用户登录权限验证,确保只有已登录的用户才能访问特定的受保护资源。 首先,我们来看一下实验的基本步骤: 1. 创建 `User` 类:这是表示用户...

    Struts2拦截器实现权限控制demo

    在这个“Struts2拦截器实现权限控制demo”中,我们将深入探讨如何利用拦截器来实现细粒度的用户权限管理。 首先,我们需要了解Struts2中的拦截器工作原理。拦截器是基于Java的动态代理模式实现的,它们按照配置的...

    struts2拦截器实现权限控制

    这篇博客文章“struts2拦截器实现权限控制”深入探讨了如何利用Struts2的拦截机制来执行用户访问权限的验证。 在Struts2中,拦截器是基于AOP(面向切面编程)的概念设计的,它们在Action调用前后执行,可以添加额外...

    拦截器实现权限管理

    在“拦截器实现权限管理”的情况下,通常会有一个权限配置,比如硬编码的规则或从服务器端静态文件加载的规则。这些规则定义了哪些URL对应哪些权限。当用户尝试访问一个页面时,对应的拦截器会被触发,检查当前用户...

    springboot拦截器实现拦截器 权限校验,登录demo

    本文将详细介绍如何在Spring Boot中实现拦截器以进行权限校验和登录验证,通过一个简单的Demo来阐述整个过程。 首先,我们需要创建一个自定义的拦截器类。这个类通常会继承`HandlerInterceptorAdapter`,这是一个...

    运用struts2技术的拦截器实现的页面检测和用户注册

    要实现页面检测拦截,我们可以创建一个拦截器来检查用户是否具有访问特定页面的权限。例如,我们可以在`intercept()`方法内检查session中的用户信息,如果用户未登录或不具备相应权限,则可以重定向到登录页面或...

    struts 拦截器实现权限拦截

    拦截器是Struts2框架中的一个重要组成部分,它们在Action调用前后执行,可以用于实现各种功能,如日志、事务管理以及我们的重点——权限拦截。 权限拦截是Web应用安全机制的重要一环,它确保只有具备特定权限的用户...

    struts2拦截器实现用户登录权限的验证

    ### Struts2拦截器实现用户登录权限的验证 在Web应用开发中,用户登录权限验证是确保系统安全的重要环节之一。Struts2框架提供了一种灵活的方式来实现这一功能:通过自定义拦截器来控制用户的访问权限。下面我们将...

    webwork 权限拦截器

    总的来说,WebWork的权限拦截器是实现细粒度权限控制的有效手段,它能够灵活地集成到现有系统中,提升系统的安全性和用户体验。通过自定义拦截器,开发者可以根据项目的具体需求实现各种复杂的权限策略,确保只有...

    Struts2_自定义拦截器_用户权限验证

    总的来说,“Struts2_自定义拦截器_用户权限验证”项目旨在教授开发者如何在Struts2环境中创建自定义拦截器,以实现用户权限验证,同时展示如何控制Action间的跳转。通过这个实践,开发者能够更好地理解和运用Struts...

    使用struts2拦截器对登陆权限验证

    在本案例中,我们将深入探讨如何使用Struts2拦截器实现登录权限验证,同时结合Servlet Filter进一步加强安全性。 首先,让我们理解Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念设计的,它们...

    Struts2利用拦截器实现权限控制

    在Struts2中,拦截器是实现业务逻辑控制和增强功能的重要机制,它们扮演着中间件的角色,允许在请求到达Action之前或之后执行特定的操作。在权限控制场景下,拦截器尤为关键,可以用于验证用户是否有权访问特定的...

    structs2拦截器实例2-权限验证拦截器

    在Java Web开发中,Struts2是一个非常流行的MVC框架,它提供了丰富的功能来构建动态、数据驱动的Web应用程序。...通过这个实例,开发者可以学习到如何利用拦截器实现用户权限的控制,从而提升Web应用的安全性。

    使用拦截器进行权限控制.rar

    本教程以“使用拦截器进行权限控制”为主题,旨在帮助新手掌握如何在Struts2框架下实现权限控制。 首先,让我们了解什么是拦截器。在Struts2中,拦截器是基于Java的动态代理实现的,它通过调用一系列拦截器来形成一...

    SpringMVC+Mybatis+Mysql+权限+拦截器的整合实例 源码程序

    这通常通过拦截器实现,比如SpringMVC中的HandlerInterceptor,可以在请求处理前进行预处理,如检查用户权限。 拦截器(Interceptor)是SpringMVC中的一种机制,它可以拦截并处理HTTP请求,提供诸如日志记录、性能...

    ssm+maven用拦截器实现登录小Demo

    在这个"ssm+maven用拦截器实现登录小Demo"中,我们将探讨如何利用SSM框架和Maven来构建一个简单的登录系统,并通过拦截器实现权限控制。 首先,Spring MVC中的拦截器(Interceptor)是一种预处理和后处理请求的机制...

    struts2 拦截器实现登录控制

    这篇博客“struts2 拦截器实现登录控制”显然会探讨如何利用拦截器来实现用户登录验证,从而保护应用程序的受保护资源。 首先,我们了解下Struts2拦截器的工作原理。拦截器是基于AOP(面向切面编程)的概念,它位于...

Global site tag (gtag.js) - Google Analytics