47 lines
1.3 KiB
Kotlin
47 lines
1.3 KiB
Kotlin
|
package com.chantha.jdbc.security
|
||
|
|
||
|
import org.springframework.beans.factory.annotation.Autowired
|
||
|
import org.springframework.security.core.GrantedAuthority
|
||
|
import org.springframework.security.core.authority.SimpleGrantedAuthority
|
||
|
import org.springframework.security.core.userdetails.UserDetails
|
||
|
import org.springframework.stereotype.Component
|
||
|
import org.springframework.stereotype.Controller
|
||
|
import org.springframework.stereotype.Service
|
||
|
|
||
|
|
||
|
|
||
|
class UserPrincipal constructor(private val user: User):UserDetails{
|
||
|
override fun getAuthorities(): List<GrantedAuthority> {
|
||
|
val listGrantedAuthority= mutableListOf<GrantedAuthority>()
|
||
|
user.getRolesList().map {
|
||
|
val roles=SimpleGrantedAuthority("ROLE_$it")
|
||
|
listGrantedAuthority.add(roles)
|
||
|
}
|
||
|
return listGrantedAuthority
|
||
|
}
|
||
|
|
||
|
override fun isEnabled(): Boolean {
|
||
|
return user.status == 1
|
||
|
}
|
||
|
|
||
|
override fun getUsername(): String {
|
||
|
return user.userName
|
||
|
}
|
||
|
|
||
|
override fun isCredentialsNonExpired(): Boolean {
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
override fun getPassword(): String {
|
||
|
return "{noop}${user.password}"
|
||
|
}
|
||
|
|
||
|
override fun isAccountNonExpired(): Boolean {
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
override fun isAccountNonLocked(): Boolean {
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
}
|