SHARE
TWEET

Untitled

a guest Aug 20th, 2019 65 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import com.kotlinspringvue.backend.repository.UserRepository
  2.  
  3. import org.springframework.beans.factory.annotation.Autowired
  4. import org.springframework.security.core.userdetails.UserDetails
  5. import org.springframework.security.core.userdetails.UserDetailsService
  6. import org.springframework.security.core.userdetails.UsernameNotFoundException
  7. import org.springframework.stereotype.Service
  8. import org.springframework.security.core.GrantedAuthority
  9. import org.springframework.security.core.authority.SimpleGrantedAuthority
  10. import java.util.stream.Collectors
  11.  
  12. @Service
  13. class UserDetailsServiceImpl: UserDetailsService {
  14.  
  15.    @Autowired
  16.    lateinit var userRepository: UserRepository
  17.  
  18.    @Throws(UsernameNotFoundException::class)
  19.    override fun loadUserByUsername(username: String): UserDetails {
  20.        val user = userRepository.findByUsername(username).get()
  21.                ?: throw UsernameNotFoundException("User '$username' not found")
  22.  
  23.        val authorities: List<GrantedAuthority> = user.roles!!.stream().map({ role -> SimpleGrantedAuthority(role.name)}).collect(Collectors.toList<GrantedAuthority>())
  24.  
  25.        return org.springframework.security.core.userdetails.User
  26.                .withUsername(username)
  27.                .password(user.password)
  28.                .authorities(authorities)
  29.                .accountExpired(false)
  30.                .accountLocked(false)
  31.                .credentialsExpired(false)
  32.                .disabled(false)
  33.                .build()
  34.    }
  35. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top