BBS > java

struts2 intercept

작성자 : 이창우 (x1wins) | 등록일 : 2014-12-29 | 목록
첨부 파일이 없습니다.
첨부 이미지가 없습니다.
public String intercept (ActionInvocation invocation) throws Exception {
    // Get the action context from the invocation so we can access the
    // HttpServletRequest and HttpSession objects.
    final ActionContext context = invocation.getInvocationContext ();
    HttpServletRequest request = (HttpServletRequest) context.get(HTTP_REQUEST);
    HttpSession session =  request.getSession (true);

    // Is there a "user" object stored in the user's HttpSession?
    Object user = session.getAttribute (USER_HANDLE);
    if (user == null) {
        // The user has not logged in yet.

        // Is the user attempting to log in right now?
        String loginAttempt = request.getParameter (LOGIN_ATTEMPT);
        if (! StringUtils.isBlank (loginAttempt) ) { // The user is attempting to log in.

            // Process the user's login attempt.
            if (processLoginAttempt (request, session) ) {
                // The login succeeded send them the login-success page.
                return "login-success";
            } else {
                // The login failed. Set an error if we can on the action.
                Object action = invocation.getAction ();
                if (action instanceof ValidationAware) {
                    ((ValidationAware) action).addActionError ("Username or password incorrect.");
                }
            }
        }

        // Either the login attempt failed or the user hasn't tried to login yet, 
        // and we need to send the login form.
        return "login";
    } else {
        return invocation.invoke ();
    }
}
@Override
	public String intercept(ActionInvocation invocation) throws Exception {

		String userid = (String)ServletActionContext.getRequest().getSession().getAttribute(LoginProperty.USER_KEY);
		String authority = (String)ServletActionContext.getRequest().getSession().getAttribute(LoginProperty.AUTHORITY_KEY);
		String adminRole = UserRoleType.ROLE_ADMIN.toString();
		
		log.debug("authority = "+ authority);
		log.debug("UserRoleType.ROLE_ADMIN = "+ UserRoleType.ROLE_ADMIN);
		log.debug("authority.equals(adminRole) = "+ authority.equals(adminRole));
		
		if(userid == null || authority == null || !authority.equals(adminRole)){
			Object action = invocation.getAction ();
            if (action instanceof ValidationAware) {
                ((ValidationAware) action).addActionError ("권한이 없습니다.");
            }
			return Action.ERROR;
		}
		return invocation.invoke();
	}
로그인 하셔야 댓글을 사용하실수 있습니다.
댓글쓰기를 누르면 로그인 페이지로 이동 후 돌아옵니다.
총 댓글 겟수 0
번호 제목 등록일 작성자 조회수
-> struts2 intercept (0) 2014-12-29 이창우 1306
670 Reflection (0) 2014-07-07 이창우 1686
665 Timestamp <-> Date (0) 2014-04-02 이창우 1928
664 변환 date ->java.sql.date (0) 2014-03-24 이창우 1814
663 Unparseable date: "" (0) 2014-03-24 이창우 2712
659 Java Primitive Data Types (0) 2014-02-14 이창우 2189
568 abstract interface 차이점 (0) 2012-09-24 이창우 1245
418 Triple DES & DES JAVA ,C (0) 2011-12-26 이창우 2640
403 HttpClient (0) 2011-12-10 이창우 2472
220 콘솔에서 war 만들기 (0) 2011-07-13 이창우 2995
210 servlet 현재 주소 알아오기 (0) 2011-07-09 이창우 2161
188 A Java Runtime (0) 2011-06-27 이창우 2094
173 file 복사 (0) 2011-06-07 이창우 1944
172 파일 받기 (수정) (0) 2011-06-07 이창우 2193
170 파일 받기 (안됨) (0) 2011-06-07 이창우 1726
169 소켓으로 파일 받기(안됨) (0) 2011-06-07 이창우 1941
162 RCP Example (0) 2011-06-03 이창우 1778
161 rcp 설명 사이트 (1) 2011-06-03 이창우 2018
160 Thread Chatting 프로토 타입 2 (1) 2011-06-02 이창우 1642
158 object heap (0) 2011-06-01 이창우 1860
< 1 2 >
글쓰기 검색