簡體   English   中英

Grails 2 Spring Security Plugin - 成功登錄后重定向到/ login / denied

[英]Grails 2 Spring Security Plugin - Redirects to /login/denied after successful login

我在Spring Grails 2.0.4中成功運行了Spring Security Plugin。 如果我轉到“localhost:8080 / dashboard”頁面,我將被重定向到登錄屏幕。 當我成功登錄時,我被重定向到“/ dashboard”。

我遇到的問題是,如果我只是去“localhost:8080 /”而不向URL添加任何控制器。 如果我這樣做,那么無論我是否成功登錄,我都會被重定向到“/ login / denied”。 如果我此時嘗試轉到“/ dashboard”,它將起作用,因為我是一名成功登錄的用戶。

我的問題是如何更改登錄后重定向到的默認屏幕。 這是我嘗試過的。 如果有什么我想念的,請告訴我。 除了實際的重定向之外,一切似乎都在起作用。

嘗試更改URLMappings.groovy

static mappings = {
    "/"(controller: "dashboard")
}

嘗試在Config.groovy中更改:

grails.plugins.springsecurity.successHandler.defaultTargetUrl = '/dashboard'
grails.plugins.springsecurity.securityConfigType = SecurityConfigType.InterceptUrlMap
grails.plugins.springsecurity.interceptUrlMap = [
    '/dashboard/**': ["IS_AUTHENTICATED_FULLY"],

    '/js/**': ["IS_AUTHENTICATED_ANONYMOUSLY"],
    '/css/**': ["IS_AUTHENTICATED_ANONYMOUSLY"],
    '/images/**': ["IS_AUTHENTICATED_ANONYMOUSLY"],
    '/login/**': ["IS_AUTHENTICATED_ANONYMOUSLY"],
    '/logout/**': ["IS_AUTHENTICATED_ANONYMOUSLY"]
]

這些都沒有解決我上面解釋過的問題。 任何幫助是極大的贊賞。

謝謝,賈里德

答案是在interceptUrlMap中添加另一個條目:

grails.plugins.springsecurity.interceptUrlMap = [
    '/**': ["IS_AUTHENTICATED_FULLY"]
]

這允許用戶進入URLMappings中的'/'映射,從而轉發到'/ dashboard'。 沒有這個映射,沒有'/'規則,我們默認阻止它,所以沒有機會轉發URLMappings。

暫無
暫無

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

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