mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-07-08 11:32:47 +00:00
If the principal is an instanceof UserDetails, UserDetails.getUsername();
This commit is contained in:
parent
438130ef4c
commit
2bda6ec25c
@ -16,6 +16,7 @@
|
|||||||
package net.sf.acegisecurity.providers.jaas;
|
package net.sf.acegisecurity.providers.jaas;
|
||||||
|
|
||||||
import net.sf.acegisecurity.Authentication;
|
import net.sf.acegisecurity.Authentication;
|
||||||
|
import net.sf.acegisecurity.UserDetails;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
@ -55,9 +56,20 @@ public class JaasNameCallbackHandler
|
|||||||
*/
|
*/
|
||||||
public void handle(Callback callback, Authentication authentication)
|
public void handle(Callback callback, Authentication authentication)
|
||||||
throws IOException, UnsupportedCallbackException {
|
throws IOException, UnsupportedCallbackException {
|
||||||
|
|
||||||
if (callback instanceof NameCallback) {
|
if (callback instanceof NameCallback) {
|
||||||
|
|
||||||
NameCallback ncb = (NameCallback) callback;
|
NameCallback ncb = (NameCallback) callback;
|
||||||
ncb.setName(authentication.getPrincipal().toString());
|
String username = "";
|
||||||
|
|
||||||
|
Object principal = authentication.getPrincipal();
|
||||||
|
if (principal instanceof UserDetails) {
|
||||||
|
username = ((UserDetails) principal).getUsername();
|
||||||
|
} else {
|
||||||
|
username = principal.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
ncb.setName(username);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user