2014-02-17 3 views
0

내가 봄 보안에 대해 자세히 배우고 ...이 느린 내가 인덱스에서 현재 로그인 한 사용자 이름에 액세스하기 위해 노력하고있어 지금 ...Grails는 봄 보안 사용자 이름은 전 세계적으로

을 진행되고있다 .gsp 페이지. 컨트롤러에서 작동하는 코드가 있지만 다른 페이지의 코드를 제대로 가져올 수 없습니다. 나는 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 
... 

를 다음보기 (GSP)에 단순히 같은 것을 수행 할 수 있습니다

Username: ${muds.getUsername() } 

가 어떻게의 index.gsp에서이 작업을 수행 할 것입니까?

답변

4

플러그인과 함께 제공되는 내장형 태그 라이브러리를 사용하는 것이 좋습니다. documentation에는 다양한 태그가 모두 표시되며 그 중 하나는 현재 로그인 한 사용자의 속성을 가져 오는 태그입니다. 예 :

<sec:loggedInUserInfo field="username"/> 
+0

taglib에 추가 플러그인이 필요한가요? 이 오류가 발생합니다 : GroovyPageView 처리 오류 : 알 수없는 JSP 태그 sec : loggedInUserInfo – Bean

+0

아니오 봄 보안 코어 플러그인의 버전을 사용하고 있습니까? –

+0

spring-security-core : 1.2.7.3 – Bean

0

$ {muds.getUsername()}에 오류가 있습니까? 그냥 $ {muds}를 사용하거나 $ {muds}의 클래스를 더 잘 살펴보십시오

관련 문제