Spring Security Role Prefix and Custom User Details Service
10,792
<beans:bean id="roleVoter" class="org.springframework.security.access.vote.RoleVoter">
<beans:property name="rolePrefix" value="" />
</beans:bean>
just like this
Author by
Mike Flynn
I am the founder and CEO of Exposure Events. Exposure Events is a tournament and league management system delivering online scheduling and conflict checker, live results, apps, free directory and more.
Updated on June 04, 2022Comments
-
Mike Flynn almost 2 years
How do I set the role prefix to
""
with a custom user details service in Spring?<beans:bean id="authService" class="com.cisco.badges.business.services.AuthenticationService"/> <authentication-manager> <authentication-provider user-service-ref="authService"> <password-encoder ref="passwordEncoder"> <salt-source ref="saltSource" /> </password-encoder> </authentication-provider> </authentication-manager>
@Service("authService") public class AuthenticationService extends BaseService implements UserDetailsService, IAuthenticationService { @Autowired IUserRepository userRepository; @Autowired IAuthorityRepository authorityRepository; public AuthenticationService() { } public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userRepository.findByUsername(username); if(user == null) throw new UsernameNotFoundException("No user with username '" + username + "' found!"); List<GrantedAuthority> authList = new ArrayList<GrantedAuthority>(); for (Role role : user.getRoles()) { authList.add(new GrantedAuthorityImpl(role.getName())); } UserAuthentication userAuthentication = new UserAuthentication(user.getUsername(), user.getPassword(), user.getEnabled() == 0 ? false : true, true, true, true, authList); userAuthentication.setSalt(user.getSalt()); userAuthentication.setId(user.getId()); return (UserDetails)userAuthentication; } }