나는 spring mvc, spring security 및 hibernate를 사용하여 웹 응용 프로그램을 개발 중입니다.자동으로 세션에 객체 설정
사용자 자격 증명으로 세션에서 개체를 자동으로 설정할 수있는 방법이 있습니까 ?? 내 말은, 내가 수동으로 세션에 사용자 개체를 설정하는 현재 코드가 있습니다
@RequestMapping(value = { "/privados/procesarLogin",
"/sesiones/procesarLogin" }, method = RequestMethod.GET)
public ModelAndView procesarLogin(HttpServletRequest req) {
ModelAndView mav = new ModelAndView();
String usuario = (String) SecurityContextHolder.getContext()
.getAuthentication().getCredentials();
Usuario usuarioSesion = us.retornarUsuario(usuario);
HttpSession sesion = req.getSession(true);
sesion.setAttribute("usuarioSesion", usuarioSesion);
mav.setViewName("/privados/principal");
return mav;
}
을하지만 사용자 개체를 생성하고 자신의 로그인이 성공적으로 인증 된 후에 자동으로 세션을 설정했다. 내 XML 파일을 어떻게 구성해야합니까 ?? 나의 현재는 다음과 같습니다
// 헤더
<global-method-security secured-annotations="enabled" />
<http auto-config="true" access-denied-page="/app/sesiones/procesarLogin">
<logout logout-success-url="/app/sesiones/login" />
<form-login authentication-failure-url="/app/sesiones/login?error=true"
login-page="/app/sesiones/login" default-target-url="/app/sesiones/procesarLogin" />
<intercept-url pattern="/app/privados/*" access="ROLE_USER" />
</http>
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="Select usuario, contrasena,true from Usuarios where usuario=?"
authorities-by-username-query="Select usuario, role from Usuarios where usuario=?" />
<password-encoder ref="passwordEncoder" />
</authentication-provider>
</authentication-manager>
<beans:bean id="jasyptPasswordEncryptor"
class="org.jasypt.util.password.BasicPasswordEncryptor" />
<beans:bean id="passwordEncoder" class="org.jasypt.spring.security3.PasswordEncoder">
<beans:property name="passwordEncryptor">
<beans:ref bean="jasyptPasswordEncryptor" />
</beans:property>
</beans:bean>
내가 사전에 도움을 감사를 바랍니다!
귀하의 질문에 대답 할 수 없지만 다른 봄 API를 통해 찾고 있었고 DefaultSessionAttributeStore를 발견했습니다. 그것은 당신이 다음과 같이 컨트롤러의 세션에서 특정 속성을 설정하고 제거 할 수있게 해줍니다 : public ModelAndView procesarLogin (DefaultSessionAttributeStore status, WebRequest request) {... status.storeAttribute (request, attributeName, attributeValue); status.cleanupAttribute (request, attributeName);} – blong824