Struts2中可以使用自定义拦截器,实现登录及权限控制功能。
具体看下面的步骤:
1. 自定义拦截器类, 类 继承 AbstractInterceptor类
public class AuthorityInterceptor extends AbstractInterceptor { public String intercept(ActionInvocation invocation) throws Exception { ActionContext ctx = invocation.getInvocationContext(); User mu = (User) ctx.getSession().get("USER"); //登录控制 if (mu != null && mu.getUserName() != null) { String actionName = invocation.getInvocationContext().getName(); //权限控制代码写这里 return invocation.invoke(); } else { return "loginError"; } } }
2. 编写struts.xml
<package name="all" extends="struts-default">
<!-- 配置拦截器 -->
<interceptors>
<interceptor name="authority" class="com.myinterceptor.AuthorityInterceptor" />
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="authority" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="mydefault" />
<!-- <default-action-ref name="loginMasUser" /> -->
<!-- 配置全局跳转界面 -->
<global-results>
<result name="loginError" type="redirect">login.jsp</result>
<result name="error">error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>
</package>
3 . 让项目模块实现拦截器
其他模块新建struts配置文件,并继承配置有拦截器的包,访问dept模块时就会进入拦截器进行拦截,例: struts-dept.xml,
<package name="dept" namespace="/" extends="all">
<!-- 配置操纵 dept 的action-->
</package>
其他模块按照dept模块进行配置就可以了
就这样,客户端每次发送请求到action时就会进行拦截了。
需要注意的:登录与登出action不要配置到拦截器里
相关推荐
Struts2拦截器实现权限控制demo,我感觉对初学者还是有一定帮助的
struts2 用拦截器 实现用户权限登录 可以直接运行,只单单用到struts的东西。
NULL 博文链接:https://luckyhua.iteye.com/blog/1863458
利用Struts2的核心技术----拦截器实现权限控制。详细代码详解
1 实现权限控制拦截器 本示例应用要求用户登陆,且必须为指定用户名才可以查看系统中某个视图资源;否则,系统直接转入登陆页面。对于上面的需求,可以在每个Action的执行实际处理逻辑之前,先执行权限检查逻辑,但...
综合使用servlet filter与struts2 interceptor对权限进行验证。
使用Struts2实现用户权限拦截、重点是掌握拦截器的使用和配置方法,通过案例的学习,就能掌握struts中拦截器的使用方法,让我们能快速上手
struts 拦截器实现权限拦截,例子简单易懂,有详细的注释。
Struts2 中的拦截器(Interceptor)和过滤器(Filter)是两个不同的概念,虽然它们都可以影响请求的处理过程,但它们的作用域、执行顺序和实现机制都有所不同。 拦截器(Interceptor) 拦截器是 Struts2 框架中的...
struts2拦截器控制权限,这个例子不错,值得学习。
STRUTS2拦截器控制页面访问权限的设计与实现,解决基于STRUTS2的web应用的程序访问控制,防止非法访问
struts2拦截器实现权限控制。 内附代码及说明。 就在这里和大家分享下,希望能帮到哪位朋友。
使用了struts2的拦截器,主要在struts.xml文件里面配置,适合新手学习,环境是idea,前端是jsp使用struts2的控件
使用Struts2拦截器制作的一些关于权限控制的代码,给同行朋友们参考、学习下。
(1)首先直接访问 http://localhost:8080/MyStudy/showAction,我们会发现直接访问myhome.jsp会转入登录页面提示...(2)这时候输入xiaoming 12345登录,进入welcom.jsp页面 (3)点击链接后成功进入myhome.jsp页面
本篇文章主要介绍了struts2如何使用拦截器进行用户权限控制实例,非常具有实用价值,需要的朋友可以参考下
怎么样用户必须经过登录页面登录之后才能进入主页面呢? 问题似乎幼稚了点!各位高手别见笑!
利用struts2实现权限拦截。输入正确的用户名和密码,则跳转到内容页面,否则无权限,跳回注册页面。