2011-12-27 150 views
1

我試圖在Grails中使用Spring Security Plugin建立一個只允許通過預認證機制進行身份驗證的系統。如何在Grails/Spring Security插件中禁用/ login/auth

我想要發生的事情是,如果用戶在未經過身份驗證時嘗試訪問任何URL,它應該將它們帶到拒絕訪問的頁面。

我現在正在做的事情是,Grails試圖將它們轉發到/ login/auth(然後Firefox說重定向永遠不會完成)。但事情是,因爲我只是一個Pre-Auth系統,所以沒有登錄頁面。

這裏是我的Config.groovy:

grails.plugins.springsecurity.interceptUrlMap = 
['/auth/*'  : 'IS_AUTHENTICATED_ANONYMOUSLY',  // so they can attempt to login 
'/**'   : 'IS_AUTHENTICATED_FULLY' 
] 

grails.plugins.springsecurity.providerNames = 
['customerPreauthAuthProvider'] 

grails.plugins.springsecurity.filterChain.chainMap = 
['/auth/customer' : 'customerSiteminderFilter',    // Customer login 
'/**'   : 'JOINED_FILTERS' // Go thru regular filter chain for all others 
] 

任何想法是如何得到它停止這樣做呢?我已經從LoginController.groovy中刪除了index和auth方法,因爲它們不應該被需要。

+1

您的標題完全匹配標籤。你能改變它來描述這個問題嗎?而不是僅僅列出技術? – 2011-12-27 20:47:23

+1

標題已更改。對不起,關於那個... – user965697 2011-12-27 21:03:19

+0

好多了.. ta :) – 2011-12-27 21:05:22

回答

2

既然你在技術上還沒有登錄頁面,那麼你可以只更改以下配置選項:

auth.loginFormUrl =「/登錄/ AUTH」

指向你的拒絕訪問頁面。