В моем проекте определенные пользователи имеют двойные роли, поэтому, если любой такой пользователь входит в систему, как я могу заставить его переключаться между этими двумя ролями, которые он имеет, чтобы он мог выполнять определенные операции, которые обеспечивает эта конкретная роль.
Оцените пошаговый процесс, так как я действительно новичок в Grails.Любая подобная литература в сети с примером высоко ценится.
ОБНОВЛЕНИЕ: - WorkridersUser loadUserByUsername (String username, String roleName) бросает UsernameNotFoundException {// def conf = SpringSecurityUtils.securityConfig // Класс User = grailsApplication.getDomainClass ("Person") .clazz
SchemeUser.withTransaction { status ->
SchemeUser user = SchemeUser.findByUsername(username)
if (!user){ throw new UsernameNotFoundException('User not found', username)}
UserProfile userProfile = UserProfile.findByEmail(user.username)
Representative representative = Representative.findByUser(user)
Organization organization = Organization.get(representative.organization.id)
def authorities = user.authorities.collect {new GrantedAuthorityImpl(it.authority)}
return new WorkridersUser(user.username, user.password, user.enabled,
!user.accountExpired, !user.passwordExpired, !user.accountLocked,
authorities ?: roleName, user.id, organization.companyName,userProfile)
}
}
Спасибо
Шри