Saya relatif baru dalam keamanan Musim Semi dan Musim Semi.
Saya mencoba untuk menulis program di mana saya perlu mengautentikasi pengguna di ujung server menggunakan keamanan Spring,
Saya datang dengan yang berikut:
public class CustomAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider{
@Override
protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken)
throws AuthenticationException
{
System.out.println("Method invoked : additionalAuthenticationChecks isAuthenticated ? :"+usernamePasswordAuthenticationToken.isAuthenticated());
}
@Override
protected UserDetails retrieveUser(String username,UsernamePasswordAuthenticationToken authentication) throws AuthenticationException
{
System.out.println("Method invoked : retrieveUser");
//so far so good, i can authenticate user here, and throw exception if not authenticated!!
//THIS IS WHERE I WANT TO ACCESS SESSION OBJECT
}
}
Kasus penggunaan saya adalah ketika pengguna diautentikasi, saya perlu menempatkan atribut seperti:
session.setAttribute("userObject", myUserObject);
myUserObject adalah objek dari beberapa kelas yang dapat saya akses di seluruh kode server saya di beberapa permintaan pengguna.