Grails springSecurityService.principal.id提供firstname而不是userid
我正在我的应用程序中使用springSecurityCore插件,在用户登录appStartupController之后,我非常喜欢它Grails springSecurityService.principal.id提供firstname而不是userid,grails,spring-security,Grails,Spring Security,我正在我的应用程序中使用springSecurityCore插件,在用户登录appStartupController之后,我非常喜欢它 def index = { if (springSecurityService.isLoggedIn()) { session.loginId=springSecurityService.principal.id def userRole=UserRole.findAllByUserAndRole(User.get(session.
def index = {
if (springSecurityService.isLoggedIn()) {
session.loginId=springSecurityService.principal.id
def userRole=UserRole.findAllByUserAndRole(User.get(session.loginId), Role.findByAuthority('ROLE_USERSDASH'))
if(userRole){
redirect(controller:'dashboard',action:'getRiskUserDashboard')
}
}
}
当我在header.gsp中读取session.loginId时,我看到用户表中的名字被打印出来。
我需要将用户表中的userId字段映射到session.loginId。
如何操作?您可以通过调用以下命令获取当前用户:
def user = springSecurityService.getCurrentUser()
然后将该用户传递到UserRole find方法。您可以通过调用以下命令获取当前用户:
def user = springSecurityService.getCurrentUser()
然后只需将该用户传递到UserRole find方法。不是答案,但可以通过SpringSecurityUtils更简单地检查角色。如果被授予“ROLE\u USERSDASH”不是答案,则可以通过SpringSecurityUtils更简单地检查角色。如果被授予“ROLE\u USERSDASH”