簡體   English   中英

Grails Spring Security Core插件-將Flash消息添加到登錄頁面

[英]Grails Spring Security Core Plugin - adding flash message to login page

我正在使用Grails Spring Security Core插件通過以下注釋來保護某些操作。

@Secured(['IS_AUTHENTICATED_REMEMBERED'])

如果用戶未登錄,這將導致操作重定向到我的登錄頁面。登錄后,他們將被重定向到原始操作。

在這種情況下,如何在登錄頁面中添加即顯消息

flash.message = "You must be logged in to submit a news story"

為了澄清,我只希望在嘗試訪問此特定操作后將用戶重定向到登錄頁面時顯示該消息。 其他操作不會觸發該消息。

我已經解決了如下問題。

  1. 從操作中遠程注釋。
  2. 在操作的開頭添加以下代碼(新聞和提交分別是相關的控制者和操作)。

     if (!springSecurityService.isLoggedIn()) { flash.message = "You must be logged in to submit a news story." redirect(controller:"login", action: "auth", params:["spring-security-redirect" : "/news/submit"]) } 
  3. 將以下內容添加到登錄表單。

     <input type='hidden' name='spring-security-redirect' value='${params['spring-security-redirect']}'/> 

例如,將其添加到您的登錄視圖中:

<sec:noAccess url="/admin/listUsers">
    You must be logged in to view the list of users.
</sec:noAccess>

請參閱安全性標簽庫的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM