struts 2 사용자 정의 차단기 1-아 날로 그 로그 인 권한 검증

22701 단어 struts2
1、 http://localhost:8083/struts2/user.jsp  사용자 가 로그 인하 여 session 대상 을 저장 하 였 음 을 표시 합 니 다.
2、 http://localhost:8083/struts2/quit.jsp  사용자 가 종료 되 었 음 을 표시 합 니 다.session 대상 을 제거 합 니 다.
3、 http://localhost:8083/struts2/login/addUIHelloWorld.do   session 이 존재 하면 아래로 실행 합 니 다.그렇지 않 으 면"이 동작 을 수행 할 수 있 는 권한 이 없습니다"라 는 것 을 알 립 니 다.
4、 http://localhost:8083/struts2/login/executeHelloWorld.do   session 이 존재 하면 아래로 실행 합 니 다.그렇지 않 으 면"이 동작 을 수행 할 수 있 는 권한 이 없습니다"라 는 것 을 알 립 니 다.
   
코드
user.jsp 페이지

  
<% @ page language = " java " import = " java.util.* " pageEncoding = " UTF-8 " %>
<%
request.getSession().setAttribute(
" user " , " ljq " );
%>


            
quit.jsp 페이지

  
<% @ page language = " java " import = " java.util.* " pageEncoding = " UTF-8 " %>
<%
request.getSession().removeAttribute(
" user " );
%>


              
액 션 클래스

  
package com.ljq.action;

public class HelloWorldAction {
private String message;

public String addUI() {
this .message = " addUI " ;
return " success " ;
}

public String execute() throws Exception {
this .message = " execute " ;
return " success " ;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this .message = message;
}
}

                 
권한 클래스

  
package com.ljq.interceptor;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

/**
*
*
*
@author jiqinlin
*
*/
@SuppressWarnings(
" serial " )
public class PermissionInterceptor implements Interceptor {

public void destroy() {
}

public void init() {
}

public String intercept(ActionInvocation invocation) throws Exception {
Object user
= ActionContext.getContext().getSession().get( " user " );
// user null, , action
if (user != null ){
return invocation.invoke();
}
ActionContext.getContext().put(
" message " , " " );
return " success " ;
}

}

      
struts.xml 프로필

  
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
<! DOCTYPE struts PUBLIC
" -//Apache Software Foundation//DTD Struts Configuration 2.0//EN "
" http://struts.apache.org/dtds/struts-2.0.dtd " >

< struts >
< constant name = " struts.i18n.encoding " value = " UTF-8 " />
< constant name = " struts.enable.DynamicMethodInvocation " value = " false " />
< constant name = " struts.action.extension " value = " do " />

< package name = " login " namespace = " /login " extends = " struts-default " >
< interceptors >
<!-- -->
< interceptor name = " permission " class = " com.ljq.interceptor.PermissionInterceptor " />
<!-- -->
< interceptor - stack name = " permissionStack " >
<!-- -->
< interceptor - ref name = " permission " />
< interceptor - ref name = " defaultStack " />
</ interceptor - stack >
</ interceptors >
<!-- -->
< default - interceptor - ref name = " permissionStack " />
<!-- -->
< global - results >
< result name = " success " >/ WEB - INF / page / message.jsp </ result >
</ global - results >
< action name = " *HelloWorld " class = " com.ljq.action.HelloWorldAction "
method
= " {1} " >
<!-- < interceptor - ref name = " permissionStack " /> -->
</ action >
</ package >

</ struts >

좋은 웹페이지 즐겨찾기