[英]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.