码迷,mamicode.com
首页 > Web开发 > 详细

SSH2登陆拦截配置(若登陆,则跳转到用户需要访问的网页,若没登录,直接跳转到登录页面)

时间:2016-05-12 19:39:48      阅读:294      评论:0      收藏:0      [点我收藏+]

标签:

struts.xml配置:
<!-- 自定义用户登录拦截器 -->
<!-- 对于其他需要登录拦截的struts配置文件,如果继承了“default”,则不需要进行配置,直接可以通过继承来实现该拦截器,若没有继承“default“,都需要配置登录拦截器,配置方式和此处一样,若某个action不需要拦截,则在该action下添加默认拦截器即可(<intercentor-ref name="defaultStack" />)-->

<!-- 说明:
		loginInterceptor:可随意取,和<intercentor-ref name="loginInterceptor" />中一样就行
		mydefault:随意取,和重写默认拦截器是的name一样即可
		defaultStack:默认拦截器,必须这样写
-->
<intercentors>
	<intercentor class="拦截器java文件路径" name="loginInterceptor"/>
	<intercentor-stack name="mydefault" >
		<intercentor-ref name="defaultStack" />
		<intercentor-ref name="loginInterceptor" />
	</intercentor-stack>
</intercentors>

<!-- 重写默认拦截器 -->
<default-interceptor-ref name="mydefault" />

<!-- 定义全局 变量,跳转到登录页面 opsLogin.jsp为登录页面 -->
<global-results>
	<resutl name="login" type="redirect">/opsLogin.jsp</result>
</global-results>
//拦截器java代码
import java.util.Map;
import com.opensymphony.xwork2.action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;


/**
 * 用户登录拦截器
 */
public class LoginInterceptor extends AbstractInterceptor{
	public string intercept(ActionInvocation invaction) throws Exception{
		//获取session中的用户ID
		ActionContext ctx = invocation.getIncovationContext();
		Map<String,Object> session = ctx.getSession();
		Object object = session.get("id");
		//若不为空,则struts将会继续执行
		if(object != null){
			return invocation.invoke();
		}else{
			//若为空,直接跳转到登录页面
			return Action.LOGIN;
		}
	}
}
//用户登录action代码
public String login(){
	//根据用户名和密码查询用户信息
	user = opsUserManager.findByNameAndPwd(name,password); 
	//若果查询到的用户信息不为空,则将用户ID存进Session中,并且跳转到主页面
	if(user != null){
		HttpServletRequest request = ServletActionContext.getRequest();
		Map<String,Object> map = ActionContext.getContext().getSession();
		map.put("id",user.getId());
		return SUCCESS;
	}else{
		//如果查询不到,则跳转到登录页面
		return ERROR;
	}
}



SSH2登陆拦截配置(若登陆,则跳转到用户需要访问的网页,若没登录,直接跳转到登录页面)

标签:

原文地址:http://blog.csdn.net/u013126217/article/details/51355316

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!