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

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;
	}
}

时间: 2024-07-29 03:19:04

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

SpringMVC 登陆拦截器实现登陆控制

思路,先登陆后,将登陆信息存储在session中,然后通过拦截器,对系统中的页面和资源进行访问拦截,同时对于登陆本身相关的页面和资源不拦截. 实现方法: /**  * 登陆拦截器.  *  * @author leizhimin 2014/6/26 16:08  */ public class LoginInterceptor extends HandlerInterceptorAdapter {     private static final String[] IGNORE_URI = {"

移动端访问PC端网页时跳转到对应的移动端网页

不想通过CSS自适应在PC端和移动端分别显示不同的样式,那么只能通过在移动端访问PC端网页时跳转到对应的移动端网页了,那么怎么跳转呢,网上也有很多文章说明,下面是本人测试有效的方式. 1.效果图 PC端访问显示: 移动端访问显示: 2.实现: 不考虑移动端搜索引擎优化的话,只需要通过JS判断是否移动端,然后确定是否跳转到指定页面就行了,主要JS如下: //判断是否移动端,如果是则跳转到指定的URL地址 function browserRedirect(url) { //只读的字符串,声明了浏览器

JAVAEE——struts2_04:自定义拦截器、struts2标签、登陆功能和校验登陆拦截器的实现

一.自定义拦截器 1.架构 2.拦截器创建 //拦截器:第一种创建方式 //拦截器生命周期:随项目的启动而创建,随项目关闭而销毁 public class MyInterceptor implements Interceptor{} //创建方式2: 继承AbstractInterceptor -> struts2的体贴 //帮我们空实现了init 和 destory方法. 我们如果不需要实现这两个方法,就可以只实现intercept方法 public class MyInterceptor2

登陆拦截器总结

这是struts2中的登陆拦截器的实现流程 首先,启动服务器后,用户在地址栏输入地址,如果地址是以action结尾的,服务器中的前端控制器会对该action进行拦截,然后交给ActionProxy代理进行处理,主要目的是进行 增强,因为,最开始是用户进行登录,所以我们的目标类是StaffAction,将该action实例压入ValueStack栈中,下一步我们将进入到拦截器模块,我们使用的是自定义大的拦截器栈loginStack,该拦截器栈中包含默认的拦截器栈defaultStack和我们自定义

【Java EE 学习第70天】【数据采集系统第二天】【数据加密处理】【登陆验证】【登陆拦截器】【新建调查】【查询调查】

一.数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest. 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组.最关键的是需要将这个16位的字节数组转换成为32位的字符串,转换方法是使用位移+与运算.将高四位移到低四位&0X0F得到一个字符,直接使用该值&0X0F得到一个字符,这样一个8bit的字节就能够拆成2个字符.最终16Byte就能够转换成为32个字符. 1 package com.kdyzm.utils;

Win2008远程多用户登陆的配置方法 另附详细设置: Windows server 2008 R2实现多用户远程连接

Win2008远程多用户登陆的配置方法 在使用Windows 2008远程登录功能时,如果需要进行多用户登录,可以采用以下配置方法:  首先要启用远程桌面这一功能:右击"我的电脑"→ 属性 → 远程配置 → 远程桌面,就可以配置相应的远程桌面功能了.下面是配置多用户登陆的方法:   打开 控制面板 → 管理工具 → 终端服务(Terminal Services) → 终端服务配置(Terminal Services Configuration)   1.(修改可以同时登陆的人数,包括自

Spring boot Security 登陆安全配置

实现的效果 访问url时,如果未登录时跳转到Login界面,要求用户登陆,如果登陆过返回请求的数据. 效果图 访问数据时,未登录返回login界面 登陆操作 登陆成功进入登出界面 登陆成功后再次访问数据 POM 文件 加入 Security 配置,数据库使用maybatis. <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM

MySQL的安装与配置及登陆与退出

MySQL的安装与配置及登陆与退出 安装目录简介 启动/停止MySQL服务 net start mysql net stop mysql 登陆/退出MySQL 修改MySQL命令提示符 MySQL常用命令: SELECT VERSION();显示当前版本 SELECT NOW();显示当前日期时间 SELECT USER();显示当前用户 MySQL语句的规范 关键字与函数名称全部大写 SQL语句必须以分隔符结尾 SQL语句支持折行操作,只要不把单词.标记或引号字符串分割为两部分,可以在下一行继

Struts2自己定义拦截器实例—登陆权限验证

版本号:struts2.1.6 此实例实现功能:用户须要指定username登陆,登陆成功进入对应页面运行操作,否则返回到登陆页面进行登陆,当直接訪问操作页面(登陆后才干訪问的页面)时则不同意,须返回登陆页面. 代码例如以下: 一.页面 login.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUB