gsp 中的 Grails 3 Spring 安全标签

Grails 3 Spring security tags in gsp

由于 Spring 安全核心插件当前不适用于 Grails 3,我正在尝试使用 Spring 引导 here 进行授权。请给出一些提示如何在 gsp 中显示当前用户名。有什么方法可以在 gsp 文件中使用 Spring 安全标签。 谢谢

我基于最新的 Grails 2 插件在我的应用程序中实现了 SpringSecurityServiceSecurityTagLib 的精简版本。它是一个基于源代码的插件,您可以简单地复制所需的标签。

A tag library 可以访问 session 并可用于显示当前用户名。

在普惠制中,输入:

<g:username />

然后创建一个 TagLib,例如:

grails-app/taglib/SecurityTagLib.groovy

class SecurityTagLib {

   def username = {
      def token = session.SPRING_SECURITY_CONTEXT?.getAuthentication()
      out << token?.getPrincipal()?.getUsername()
      }

}