2016-11-07 93 views
0

我正在開發一個訂購Web應用程序,我是學習Grails的新手。我使用了Spring Security插件。我已經配置並覆蓋登錄和註冊,我想要的是讓當前登錄的用戶申請一個訂單。有沒有辦法做到這一點,而不使用靜態belongsTo?因爲使用它總是會顯示一個下拉框,我可以在用戶和管理員之間進行選擇。我是否正確地讓登錄用戶訂購?獲取已登錄用戶的Grails彈簧安全性

回答

-1

檢索當前認證委託人的最簡單的方法是通過一個靜態調用SecurityContextHolder中:

Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); 
if (!(authentication instanceof AnonymousAuthenticationToken)) { 
    String currentUserName = authentication.getName(); 
    return currentUserName; 
} 

OR

進樣SpringSecurityService豆, 這樣到控制器

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?

+4

與插件的最簡單方法是依賴項注入'SpringSecurityService'豆,例如'def springSecurityService'並調用'def currentPrincipal = springSecurityService.principal' –