UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(username, password);
Authentication authentication = CdmStore.getAuthenticationManager().authenticate(token);
+ User user = (User) authentication.getPrincipal();
+ /* circumventing problem with hibernate not refreshing the transient collection authorities in this case,
+ * see http://dev.e-taxonomy.eu/trac/ticket/4053 */
+ user.initAuthorities();
+
if(logger.isDebugEnabled()){
- User user = (User) authentication.getPrincipal();
StringBuilder gaText = new StringBuilder();
String indent = " ";
Set<GrantedAuthority> gaSet = user.getGrantedAuthorities();
_logGrantedAuthotities(gaText, indent, gaSet);
for(Group gr : user.getGroups()){
- gaText.append(indent).append("gr[").append(gr.hashCode()).append("] ").append(gr.getName()).append(gr.toString()).append("\n");
+ gaText.append(indent).append("gr[").append(gr.hashCode()).append("] \"").append(gr.getName()).append("\" ").append(gr.toString()).append("\n");
_logGrantedAuthotities(gaText, indent + indent, gr.getGrantedAuthorities());
}
logger.debug("User authenticated: " + user.getUsername() + "\n" + gaText.toString());