security 사용 관련해서 질문요 ~
- 작성자 :
- 김*윤
- 작성일 :
- 2010-06-28 18:45:10
- 조회수 :
- 3,824
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
게시판 리스트에서 ${result.frstRegisterId} 이 값을 꺼내면 고유 아이디가 나오는것 같습니다. 이것과 비교하고 싶은데..
<sec:authentication property="principal.username" var="loginUserId" />
얘는 그냥 아이디 값이 나오더라구요. result안에 일반 아이디 값이라도 있으면 비교를 할텐데.. result에선 고유아이디가 나오고 security에서 들고 있는 아이디는 일반 아이디예요.
하고싶은건 아이디 비교를 해서 본인 글만 볼수 있게 하려고 하거든요.
답변 부탁드려요~~!!
<sec:authentication property="principal.username" var="loginUserId" />
얘는 그냥 아이디 값이 나오더라구요. result안에 일반 아이디 값이라도 있으면 비교를 할텐데.. result에선 고유아이디가 나오고 security에서 들고 있는 아이디는 일반 아이디예요.
하고싶은건 아이디 비교를 해서 본인 글만 볼수 있게 하려고 하거든요.
답변 부탁드려요~~!!
A
안녕하세요.. 김태윤님..
말씀하신 것 처럼 security에서 제공하는 username은 context-security.xml에 정의되어 있는 usersByUsernameQuery query에 의해 가져오는 정보이기 때문에 공통컴포넌트에서 사용자구분으로 사용하는 uniq_id(내부 고유 값로 frstRegisterId로 넘어옴)하고는 다르게 되어 있습니다.
이 경우 두가지 방법이 가능할 것 같습니다.
첫번째 해당 query에 frstRegisterId이외에 추가적으로 user_id를 추가하는 방법입
니다. 사용자 테이블은 COMVNUSERMASTER인데.. join되어 정보를 제공하고 있습니다.
두번째는 Controller에서 현재 로그인 한 사용자 정보를 추가적으로 가져와 model에 정보를 추가하는 방법입니다.
이 경우 다음과 같은 코드를 추가하시면 사용자 정보를 가져올 수 있습니다.
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
model.addAttribute("uniqId", user.getUniqId());
JSP에서는 security의 값이 아닌 ${uniqId} 값을 비교하셔서 처리하시면 될 것 같습니다.
<c:if test="${result.frstRegisterId == uniqId}">
</c:if>
그럼.. 즐거운 하루되십시오.
감사합니다.
말씀하신 것 처럼 security에서 제공하는 username은 context-security.xml에 정의되어 있는 usersByUsernameQuery query에 의해 가져오는 정보이기 때문에 공통컴포넌트에서 사용자구분으로 사용하는 uniq_id(내부 고유 값로 frstRegisterId로 넘어옴)하고는 다르게 되어 있습니다.
이 경우 두가지 방법이 가능할 것 같습니다.
첫번째 해당 query에 frstRegisterId이외에 추가적으로 user_id를 추가하는 방법입
니다. 사용자 테이블은 COMVNUSERMASTER인데.. join되어 정보를 제공하고 있습니다.
두번째는 Controller에서 현재 로그인 한 사용자 정보를 추가적으로 가져와 model에 정보를 추가하는 방법입니다.
이 경우 다음과 같은 코드를 추가하시면 사용자 정보를 가져올 수 있습니다.
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
model.addAttribute("uniqId", user.getUniqId());
JSP에서는 security의 값이 아닌 ${uniqId} 값을 비교하셔서 처리하시면 될 것 같습니다.
<c:if test="${result.frstRegisterId == uniqId}">
</c:if>
그럼.. 즐거운 하루되십시오.
감사합니다.