struts 登录拦截器的使用
2013-04-18 19:35
323 查看
LoginAction
public class LoginAction extends ActionSupport implements SessionAware{
private String username;
private String password;
private Map session;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute(){
if(username.equals("zs")&&password.equals("123")){
session.put("username", username);
session.put("password", password);
return SUCCESS;
}
return ERROR;
}
public void setSession(Map<String, Object> arg0) {
this.session=arg0;
}
}
LoginBeforeAction
import com.opensymphony.xwork2.ActionSupport;
public class LoginBeforeAction extends ActionSupport{
public String execute(){
return SUCCESS;
}
}
LoginAfterAction
public class LoginAfterAction extends ActionSupport implements SessionAware{
private String username;
private String password;
private Map session;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute(){
return SUCCESS;
}
public void setSession(Map<String, Object> arg0) {
this.session=arg0;
}
}
LoginIntecepter
public class LoginIntecepter extends AbstractInterceptor{
public String intercept(ActionInvocation invocation) throws Exception {
Map session=(Map)invocation.getInvocationContext().getSession();
Object object=session.get("username");
if(object!=null){
return invocation.invoke();
}
return "error";
}
}
<struts>
<package name="login" namespace="/login" extends="struts-default">
<interceptors>
<interceptor name="loginIntercepter" class="com.login.actions.LoginIntecepter"></interceptor>
<interceptor-stack name="mystack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="loginIntercepter"></interceptor-ref>
</interceptor-stack>
</interceptors>
<action name="before" class="com.login.actions.LoginBeforeAction">
<result>/login.jsp</result>
</action>
<action name="login" class="com.login.actions.LoginAction">
<result>/main.jsp</result>
<result name="error">/login.jsp</result>
</action>
<action name="after" class="com.login.actions.LoginAfterAction">
<result>/main.jsp</result>
<result name="error">/login.jsp</result>
<interceptor-ref name="mystack"></interceptor-ref>
</action>
</package>
</struts>
<form action="login/login.do" method="post">
username:<input type="text" name="username"/><p>
password:<input type="password" name="password"/><p>
<input type="submit" value="submit"/>
</form>
public class LoginAction extends ActionSupport implements SessionAware{
private String username;
private String password;
private Map session;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute(){
if(username.equals("zs")&&password.equals("123")){
session.put("username", username);
session.put("password", password);
return SUCCESS;
}
return ERROR;
}
public void setSession(Map<String, Object> arg0) {
this.session=arg0;
}
}
LoginBeforeAction
import com.opensymphony.xwork2.ActionSupport;
public class LoginBeforeAction extends ActionSupport{
public String execute(){
return SUCCESS;
}
}
LoginAfterAction
public class LoginAfterAction extends ActionSupport implements SessionAware{
private String username;
private String password;
private Map session;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute(){
return SUCCESS;
}
public void setSession(Map<String, Object> arg0) {
this.session=arg0;
}
}
LoginIntecepter
public class LoginIntecepter extends AbstractInterceptor{
public String intercept(ActionInvocation invocation) throws Exception {
Map session=(Map)invocation.getInvocationContext().getSession();
Object object=session.get("username");
if(object!=null){
return invocation.invoke();
}
return "error";
}
}
<struts>
<package name="login" namespace="/login" extends="struts-default">
<interceptors>
<interceptor name="loginIntercepter" class="com.login.actions.LoginIntecepter"></interceptor>
<interceptor-stack name="mystack">
<interceptor-ref name="defaultStack"></interceptor-ref>
<interceptor-ref name="loginIntercepter"></interceptor-ref>
</interceptor-stack>
</interceptors>
<action name="before" class="com.login.actions.LoginBeforeAction">
<result>/login.jsp</result>
</action>
<action name="login" class="com.login.actions.LoginAction">
<result>/main.jsp</result>
<result name="error">/login.jsp</result>
</action>
<action name="after" class="com.login.actions.LoginAfterAction">
<result>/main.jsp</result>
<result name="error">/login.jsp</result>
<interceptor-ref name="mystack"></interceptor-ref>
</action>
</package>
</struts>
<form action="login/login.do" method="post">
username:<input type="text" name="username"/><p>
password:<input type="password" name="password"/><p>
<input type="submit" value="submit"/>
</form>
相关文章推荐
- Struts之使用拦截器实现的登录权限的控制
- 在struts中使用拦截器(Interceptor)控制登录和权限
- struts2第十五讲学习笔记,登录拦截器的使用
- Struts 2读书笔记-----拦截器之示例:使用拦截器完成权限控制
- 在struts2中使用拦截器(Interceptor)控制登录和权限
- 最简单使用的配置登录拦截器(过滤器)的方法(SSH)
- Struts 通过拦截器实现登录后跳转到登录前页面 处理普通Http请求和Ajax请求时拦截配置
- 使用struts2+MySQL做简单的登录验证
- 使用springmvc拦截器进行登录控制
- Struts2 拦截器的使用及配置
- Struts 2读书笔记-----拦截器之拦截器的使用
- struts自己定义拦截器--登录权限控制
- 使用struts配置拦截器
- 在struts2中使用拦截器(Interceptor)控制登录和权限
- Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】
- Struts2:MyEclippse中使用struts-default.xml中定义的拦截器(timmer,logger)
- Struts拦截器拦截未登录的操作
- 11 Spring MVC 访问入参获取和拦截器使用(@RequestParam 和 Interceptors)登录模块demo
- 通过注解在方法级别上使用拦截器做登录权限校验
- SpringMvc使用拦截器实现登录认证