我正在开发一个订购Web应用程序,我是学习Grails的新手。我使用了Spring Security插件。我已经配置并覆盖了登录和注册,我想要的是让当前登录的用户申请订单。有没有办法在不使用静态belongsTo的情况下执行此操作?因为使用它总是显示一个下拉框,我可以在用户和管理员之间进行选择。我是否采取正确的方法让登录用户订购?
答案 0 :(得分:-1)
检索当前经过身份验证的主体的最简单方法是通过对SecurityContextHolder的静态调用:
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (!(authentication instanceof AnonymousAuthenticationToken)) {
String currentUserName = authentication.getName();
return currentUserName;
}
或强>
注入SpringSecurityService bean, 像这样进入控制器
def springSecurityService
然后致电
def currentPrincipal = springSecurityService.principal
print "The details of current logged in user is" + currentPrincipal
有关详细信息,请点击此链接 http://www.baeldung.com/get-user-in-spring-security
How to get the current logged in user object from spring security?