Struts2中用拦截器判定是否已经登录
来源:互联网 发布:网络管理看什么书 编辑:程序博客网 时间:2024/05/02 20:26
转载自:http://www.mathapply.cn/Applys/showpaper/pid/227#0-qzone-1-48969-d020d2d2a4e8d1a374a433f596ad1440
通常一个网站有很多资源是需要登录后才能访问的,因此需要在用户访问Action时判定是否用户登录了,如果在每一个Action里去写判定比较麻烦。在Struts2中很方面的用拦截器实现。
首先定义一个类
public class AuthorityInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception
{
ActionContext ctx = invocation.getInvocationContext();
Map<String,Object> session = ctx.getSession();
Object object = session.get("USER_ID"); //登录后在session中存入 USER_ID
String name = ctx.getName();
if(object != null || name.equals("Admin_Login")){ //session存在用户已经登录,用户访问的是登录的Action,都放行
return invocation.invoke();
}else{
return Action.LOGIN; // 否则返回登录页面
}
}
}
Struts.xml文件中,定义拦截器如下。
<package name="Admin_actions" namespace="/" extends="struts-default">
<!-- 定义一个拦截器 -->
<interceptors>
<interceptor name="authority"
class="yycx.action.AuthorityInterceptor">
</interceptor>
<!-- 拦截器栈 -->
<interceptor-stack name="mydefault">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="authority" />
</interceptor-stack>
</interceptors>
<!-- 定义全局Result -->
<global-results>
<!-- 当返回login视图名时,转入/login.jsp页面 -->
<result name="login">/Admin/login.html</result>
</global-results>
<action name="Admin_*" class="yycx.action.AdminAction" method="{1}">
<result name="loginsuc">/Admin/main.jsp</result>
<result name="loginfail">/Admin/loginFail.jsp</result>
<interceptor-ref name="mydefault" /> // 对该Action进行拦截处理
</action>
</package>
实现这几部就可以进行登录判定了,是不是很方便啊?
- Struts2中用拦截器判定是否已经登录
- struts2定义拦截器(Interceptor)检查用户是否已经登录
- 关于用户是否已经登录的判定
- struts2 拦截器验证是否登录
- Struts2 拦截器的使用,验证是否已经登陆
- Struts2 拦截是否登录过
- 用Struts2的拦截器验证用户是否登录
- Struts2自定义拦截器,检查用户是否登录
- STRUTS2 登录拦截器
- struts2用户是否登录拦截器,拦截之后异步跳转到登录页面
- Struts2自定义拦截器案例:验证用户是否登录拦截器
- struts2拦截器--拦截未登录用户
- Struts2自定义拦截器:登录拦截
- struts2 拦截器 登录验证
- 浅谈Struts2登录拦截器
- Struts2拦截器登录验证
- Struts2拦截器登录验证
- Struts2拦截器登录验证
- Navicat For Mysql快捷键
- 黑马程序员——java基础学习--String类,StringBuffer和基本数据包装类
- 单例模式
- 黑马程序员-Calendar
- 真开心,第一次写ActiveReport 脚本给终于运行成功!
- Struts2中用拦截器判定是否已经登录
- Temp
- 【VNC】Linux环境VNC服务安装、配置与使用
- iOS 第三方登陆 —— FaceBook
- iOS流行开源库
- JS中的定时器
- 电视剧《酷爸俏妈》所折射出的真理
- java与json互相转换(解决日期问题)
- 创建快捷方式