시큐리티 관련 세션 항목 추가
- 작성자 :
- 김*량
- 작성일 :
- 2014-07-10 10:51:32
- 조회수 :
- 635
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
1. EgovUserDetailsVO.java에 아래 항목 추가
private String id;
private String totalPoint;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTotalPoint() {
return totalPoint;
}
public void setTotalPoint(String totalPoint) {
this.totalPoint = totalPoint;
}
2. EgovUserDetailsMapping.java 아래와 같이 추가함
String id = rs.getString("id");
String totalpoint = rs.getString("total_point");
userVO.setUserName(id);
userVO.setUserName(totalpoint);
3. context-security.xml의 usersByUsernameQuery 부분 쿼리 (, ID, TOTAL_POINT) 항목 추가
<beans:bean id="jdbcUserService" class="egovframework.rte.fdl.security.userdetails.jdbc.EgovJdbcUserDetailsManager" >
<beans:property name="usersByUsernameQuery" value="SELECT USER_ID, PASSWORD, ENABLED, USER_NAME, ID, TOTAL_POINT FROM v_users WHERE USER_ID = ? "/>
<beans:property name="authoritiesByUsernameQuery" value="SELECT USER_ID, AUTHORITY FROM v_users WHERE USER_ID = ? "/>
<beans:property name="roleHierarchy" ref="roleHierarchy" />
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="mapClass" value="egovframework.rte.cmmn.security.EgovUserDetailsMapping" />
</beans:bean>
4. EgovUserDetailsHepler.java는 수정하지 않음
5. 해당 컨트롤러에서 아래와 같이 사용
EgovUserDetailsVO user = (EgovUserDetailsVO)EgovUserDetailsHelper.getAuthenticatedUser();
issueVO.setUserId(user.getId());
log.debug("=================>1:"+user.getId());
그런데도 null이 찍히네요
private String id;
private String totalPoint;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTotalPoint() {
return totalPoint;
}
public void setTotalPoint(String totalPoint) {
this.totalPoint = totalPoint;
}
2. EgovUserDetailsMapping.java 아래와 같이 추가함
String id = rs.getString("id");
String totalpoint = rs.getString("total_point");
userVO.setUserName(id);
userVO.setUserName(totalpoint);
3. context-security.xml의 usersByUsernameQuery 부분 쿼리 (, ID, TOTAL_POINT) 항목 추가
<beans:bean id="jdbcUserService" class="egovframework.rte.fdl.security.userdetails.jdbc.EgovJdbcUserDetailsManager" >
<beans:property name="usersByUsernameQuery" value="SELECT USER_ID, PASSWORD, ENABLED, USER_NAME, ID, TOTAL_POINT FROM v_users WHERE USER_ID = ? "/>
<beans:property name="authoritiesByUsernameQuery" value="SELECT USER_ID, AUTHORITY FROM v_users WHERE USER_ID = ? "/>
<beans:property name="roleHierarchy" ref="roleHierarchy" />
<beans:property name="dataSource" ref="dataSource" />
<beans:property name="mapClass" value="egovframework.rte.cmmn.security.EgovUserDetailsMapping" />
</beans:bean>
4. EgovUserDetailsHepler.java는 수정하지 않음
5. 해당 컨트롤러에서 아래와 같이 사용
EgovUserDetailsVO user = (EgovUserDetailsVO)EgovUserDetailsHelper.getAuthenticatedUser();
issueVO.setUserId(user.getId());
log.debug("=================>1:"+user.getId());
그런데도 null이 찍히네요
A
안녕하세요. 김무량님.
5번까지 모든 코드가 정상입니다.
문제는 5번에서 사용자 정보를 정상으로 얻지 못하시는 경우이신데, 아무래도 인증이 되지 않으신 것 같습니다.
log4j.xml 상에서 org.springframework logger의 level을 "DEBUG"로 변경 하신 후에,
인증 부터 5번 코드까지 로그를 다시 올려 주시면 원인 파악이 가능할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
5번까지 모든 코드가 정상입니다.
문제는 5번에서 사용자 정보를 정상으로 얻지 못하시는 경우이신데, 아무래도 인증이 되지 않으신 것 같습니다.
log4j.xml 상에서 org.springframework logger의 level을 "DEBUG"로 변경 하신 후에,
인증 부터 5번 코드까지 로그를 다시 올려 주시면 원인 파악이 가능할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.