簡體   English   中英

如果用戶未登錄,則將他們重定向到登錄頁面

[英]Redirect users to login page if they are not login

當用戶未登錄時,他在登錄頁面上輸入正確的URL,然后進入登錄頁面;否則,當用戶輸入其他URL時,他將被重定向到錯誤頁面,而不是重定向到登錄頁面。 如何解決這個問題?

您必須在控制器中使用@Secure批注。 如果未經授權,這會將用戶重定向到登錄頁面。 該代碼:

@Secured(AuthenticatedVoter.IS_AUTHENTICATED_FULLY)
class CustomerController{
    ....
}

除非他們已登錄,否則將重定向所有人如何嘗試訪問客戶視圖頁面。嘗試訪問此頁面后,他們將被重定向到登錄頁面。 盡管這只是一個簡單的身份驗證,通常您需要做的還不止這些,但是它將滿足您的要求。

對於第一個問題,上面的答案很好,但是如果您想更具體地限制,也可以使用它

首先,您應該安裝Grails Spring Security插件

class UserController {

  // allow to access everyone
  def index() {
  }

  @Secured([UserRole.ROLE_USER,UserRole.ROLE_ADMIN,...])
  def account() {
  }
}

請注意 ,如果您在@Secured頂部提供@Secured ,則會限制整個課程的訪問權限

對於第二個問題,例如,使用UrlMapping

"404"(controller:"yourController", action:"yourErrorPageAction")

暫無
暫無

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

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