私はspring mvc、spring security、hibernateを使ってWebアプリケーションを開発しています。セッション中のオブジェクトを自動的に設定する
ユーザー資格情報とのセッションでオブジェクトを自動的に設定する方法はありますか?私が意味する、私は手動でセッションにユーザーオブジェクトを設定している現在のコードがあります。
@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ファイルをどのように設定する必要がありますか?私の現在の1は次のようになります。
//ヘッダ
<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