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
번호 제목 등록일 작성자 조회수
-> [java] struts2 intercept (0) 2014-12-29 이창우 1514
670 [java] Reflection (0) 2014-07-07 이창우 1937
669 [javascript] json 사용시 특수문자 변환 (0) 2014-06-12 이창우 6335
668 [javascript] jquery (0) 2014-06-11 이창우 1699
667 [objective c] uinavigation 영역 문제 (0) 2014-04-10 이창우 1501
666 [javascript] select change (0) 2014-04-03 이창우 1860
665 [java] Timestamp <-> Date (0) 2014-04-02 이창우 2115
664 [java] 변환 date ->java.sql.date (0) 2014-03-24 이창우 2000
663 [java] Unparseable date: "" (0) 2014-03-24 이창우 2919
662 [jqeury] JQuery date 타입 (0) 2014-03-20 이창우 2773
661 [objective c] cocos2d-x start (0) 2014-02-27 이창우 2571
660 [objective c] unsupported compiler (0) 2014-02-26 이창우 1528
659 [java] Java Primitive Data Types (0) 2014-02-14 이창우 2381
658 [tomcat] SSL test (0) 2014-02-04 이창우 2482
657 [tomcat] No Certificate file (0) 2014-02-04 이창우 2618
656 [objective c] UIView에서 viewDidUnload (0) 2014-01-05 이창우 1893
655 [objective c] UItextView height (0) 2014-01-03 이창우 2407
654 [objective c] UIView contentMode (0) 2013-12-15 이창우 1862
653 [objective c] UILabel 줄간격, 사이즈 (0) 2013-12-10 이창우 5309
652 [objective c] 네비게이션에 세그먼트 달기 (0) 2013-12-09 이창우 1751
< 1 2 3 4 5 6 7 8 9 10 >
글쓰기 검색