使用拦截器进行权限控制

原创 2017年01月04日 09:02:32

 代码:

login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>struts2 拦截器应用</title>
</head>
<body>
<h1>用户登录</h1>
<font color="red">${requestScope.tip}</font>
<s:form id="id" action="login">
  <s:textfield name="name" label="用户名"></s:textfield>
  <s:password name="pass" label="密码"></s:password>
  <s:submit value="注册"></s:submit>
</s:form>
 <a href=chakan.action>看咪咪^_^</a>
</body>
</html>

loginsuccess.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>拦截器权限控制</title>
</head>
<body>
你已成功登录系统!<a href=chakan.action>看咪咪^_^</a>
</body>
</html>

info.jsp

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>这是一个伟大的咪咪</title>
</head>
<body>
              一个人把自己看得太高,就会被别人看低;<br/>
	一个人把自己看得低一点,就会被别人看高和尊重。<br/>
	故意抬高自己是一种心虚,故意贬低自己也会矫揉造作。<br/>
	平和的神情、真诚的态度和不在意别人眼中是否贵贱的肚量,是祥和生活的保证。<br/>
										-俞敏洪
</body>
</html>

UserAction.java

package com.action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Map;

public class UserAction extends ActionSupport {
  private static final long serialVersionUID = 1L;
  private String name;
  private String pass;
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public String getPass() {
	return pass;
}
public void setPass(String pass) {
	this.pass = pass;
}
@Override
@SuppressWarnings("unchecked")
public String execute() throws Exception {
	// TODO Auto-generated method stub
	ActionContext actionContext=ActionContext.getContext();
	if(getName().equals("haige") && getPass().equals("haige")){
		Map sessionMap = actionContext.getSession();
		sessionMap.put("name", getName());
		return SUCCESS;
	}
	else{
		actionContext.put("tip", "用户名或密码不对!");
		return ERROR;
	}
}

}

CheckInterceptor.java(权限控制的拦截器)

package com.inter;

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 CheckInterceptor extends AbstractInterceptor {
	private static final long serialVersionUID = 1L;
	public String intercept(ActionInvocation arg0) throws Exception {
		ActionContext actionContext=arg0.getInvocationContext();
        Map<?, ?> sessionMap = actionContext.getSession();
		String user = (String)sessionMap.get("name");
		if(user != null && user.equals("haige")){
			return arg0.invoke();
		}
		actionContext.put("tip","请先登录!");
		return Action.LOGIN;
	}

}

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <package name="intercertor" extends="struts-default">
     <interceptors>
         <interceptor name="loginInterceptor" class="com.inter.CheckInterceptor"></interceptor>
     </interceptors>
     
     <action name="login" class="com.action.UserAction">
        <result name="error">/login.jsp</result>
		<result name="success">/loginsuccess.jsp</result>
     </action>
     
     <action name="chakan">
         <result>/info.jsp</result>
		 <result name="login">/login.jsp</result>
		 <interceptor-ref name="defaultStack"></interceptor-ref>
		 <interceptor-ref name="loginInterceptor"></interceptor-ref>
     </action>
  </package>
</struts>

截图:








版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

struts2如何使用拦截器进行用户权限控制

大多数网站会设置用户权限,如过滤非法用户,用户不登录时不能进行访问,或者设置访问的权限,如部分内容仅对VIP开放等等,这些权限的控制都可以用struts2中的拦截器来实现。 下面通过一个简单的Dem...

使用拦截器进行权限的控制

检查用户是否登陆,通常是跟踪用户的session来完成的,通过ActionContext既可以访问session中的属性,拦截器的intercept(ActionInvocation invocati...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

使用拦截器进行权限控制

代码: login.jsp struts2 拦截器应用 用户登录 ${requestScope.tip} 看咪咪^_^ loginsuccess.js...

使用Struts 拦截namespace进行权限控制

有时候我需要在几个包下都需要进行同一个权限控制。如在购物网站中,我们需要进入个人中心、下订单、评价 商品等等都需要进行登录权限控制,但是这几个模块并不是位于同一个package下。Struts提供的...

struts2拦截器实现权限控制

在使用struts2框架开发一个办公OA系统时候,需要使用到权限控制 除了判定是否登陆之外,还必须对每个action的访问实现权限控制,因为如果用户登陆成功了,而且以前拥有某个权限的访...
  • wklken
  • wklken
  • 2011-04-23 00:24
  • 12872

Struts 权限控制 拦截器

一、页面部分 1、登陆页面代码(login.jsp)
  • tjukk
  • tjukk
  • 2011-08-15 23:28
  • 118

struts interceptor拦截器做权限控制

interceptor 顾名思义:拦截器; interceptor也是struts除了action外的一大特点,今天做SSH应用涉及到权限控制,初用interceptor感觉十分方便,且功能强大. ...

Struts2—拦截器实现权限控制

在Struts2中,有内置的拦截器,在struts-core的struts-default.xml中,有一些框架自身默认配置的拦截器。 在拦截器中,有一个拦截器栈,在拦截器栈中拦截器的顺序非常的...

struts2拦截器实现权限控制

转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/23/6342985.aspx   在使用struts2框架开发一个办公OA系统时候...

CXF-08:自定义CXF拦截器来进行权限控制

自定义拦截器: 需要实现Interceptor接口,实际上,我们一般会继承AbstractPhaseInterceptor; 做一个权限控制,有用户名和密码的时候才允许调用 Web Service: ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)