Struts2权限控制拦截器 收藏
AuthorityInterceptor.java
public class AuthorityInterceptor extends AbstractInterceptor {
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext ctx = invocation.getInvocationContext();
Map session = ctx.getSession();
String user = (String) session.get("user");
if (user != null && user.equals("Jcuckoo")) {
return invocation.invoke();
}
ctx.put("tip", "您还没有登陆,请输入Jcuckoo,admin登陆系统");
return Action.LOGIN;
}
}
LoginAction.java
public class LoginAction extends ActionSupport {
private String username;
private String password;
public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public String execute() throws Exception {
System.out.println("进入execute方法执行体..........");
Thread.sleep(1500);
if (getUsername().equals("Jcuckoo") && getPassword().equals("admin")) {
ActionContext ctx = ActionContext.getContext();
Map session = ctx.getSession();
session.put("user", getUsername());
return SUCCESS;
} else {
return ERROR;
}
}
}
struts.xml
<package name="jCuckoo" extends="struts-default">
<interceptors>
<interceptor name="authority" class="jCuckoo.AuthorityInterceptor" />
</interceptors>
<global-results>
<result name="login">/login.jsp</result>
</global-results>
<action name="login" class="jCuckoo.LoginAction">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
</action>
<action name="viewBook">
<!-- 访问/WEB-INF目录下的JSP文件-->
<result>/WEB-INF/jsp/viewBook.jsp</result>
<!-- 拦截器一般配置在result元素之后! -->
<!-- 默认调用defaultStack拦截器,一旦配置其它拦截器,defaultStack需要手动配置 -->
<interceptor-ref name="defaultStack" />
<interceptor-ref name="authority" />
</action>
</package>
login.jsp
<div style="color:red" align="center">${requestScope.tip}<div>
<form action="login.action" method="post">
<table align="center">
<caption><h3>用户登录</h3></caption>
<tr>
<td>用户名:<input type="text" name="username"/></td>
</tr>
<tr>
<td>密 码:<input type="text" name="password"/></td>
</tr>
<tr align="center">
<td><input type="submit" value="登录"/><input type="reset" value="重填" /></td>
</tr>
</table>
</form>
<div align="center"><a href="viewBook.action">查看作者出版的图书</a><div>
welcome.jsp
<body>
您已经登录!<br>
<a href="viewBook.action">查看作者出版的图书</a>
</body>
error.jsp
<body>
您不能登录!<br>
<a href="viewBook.action">查看作者出版的图书</a>
</body>
viewBook.jsp
<body>
已经出版的图书:<p>
J2ME嵌入式开发<br>
SSH整合从书<br>
Thinking in Java<br>
</body>
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/guoquanyou/archive/2008/12/04/3441912.aspx