Grails Spring安全用户名全局

时间:2014-02-17 19:19:47

标签: grails spring-security

我正在学习Spring Security的细节......它一直很慢......

现在我正在尝试从index.gsp页面访问当前登录的用户Username。我有从控制器工作的代码,但我无法获得任何其他页面的代码。我有一种感觉,我错过了关于User对象的一些关键。

这是我用于控制器的内容:

class BookController {

    def springSecurityService

    static allowedMethods = [save: "POST", update: "POST", delete: "POST"]


    def index() {
        redirect(action: "list", params: params)
    }

    def list(Integer max) {
        def userDetails = springSecurityService.principal
        params.max = Math.min(max ?: 10, 100)
        [bookInstanceList: Book.list(params), bookInstanceTotal: Book.count(), muds: userDetails]
    }
...
... etc
...

然后在View(gsp)中,我可以简单地执行以下操作:

Username: ${muds.getUsername() }

我如何在index.gsp中执行此操作?

2 个答案:

答案 0 :(得分:4)

最好使用插件附带的内置标记库。 documentation显示所有各种标签,其中一个标签用于获取当前登录用户的属性。举个例子:

<sec:loggedInUserInfo field="username"/>

答案 1 :(得分:0)

$ {muds.getUsername()}是否有任何错误?尝试使用$ {muds}或更好地检查$ {muds}

的类