簡體   English   中英

Grails CAS和REST設置

[英]Grails CAS and REST setup

我剛開始學習Grails,但仍在努力解決這個問題。 在我的系統中,我有兩種類型的控制器,常規控制器和休息控制器。 如果匿名用戶在常規控制器中執行某項操作,則我希望將該用戶重定向到他將進行身份驗證的CAS服務。 然后,CAS應使用票證將其重定向回我的系統。 給定票證,我必須要求非常相同的服務才能給我經過身份驗證的實體的標識符(SSN)。 擁有SSN后,我必須要求其他服務給我提供可以定義該用戶權限的組。 然后,我必須簽入第三項服務以獲取有關該用戶的所有其他信息,並在我的數據庫中創建一個用戶條目。 完成所有這些操作並使整個過程順利進行之后,用戶的工作流程應繼續進行。 如果針對其余控制器的操作執行了請求,則應返回403標頭的json格式錯誤。 整個事情都是無狀態的。 身份驗證令牌應保留在標頭中,令牌應存儲在客戶端。 我認為這是一種針對用戶身份驗證的自定義解決方案,而當我不喜歡automagic時,就是這種情況。

所以我現在在哪里。 我在grails應用中添加了3個插件:

compile ":spring-security-core:2.0-RC4"
compile ":spring-security-cas:2.0-RC1"
compile ":spring-security-rest:1.4.1"

而且我有以下配置設置(域名被遮蓋):

grails.plugin.springsecurity.userLookup.userDomainClassName = 'package.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'package.UserRole'
grails.plugin.springsecurity.authority.className = 'package.Role'
grails.plugin.springsecurity.cas.loginUri = '/login'
grails.plugin.springsecurity.cas.serverUrlPrefix = 'https://example.com'
grails.plugin.springsecurity.cas.proxyCallbackUrl = '${grails.serverURL}/secure/receptor'
grails.plugins.springsecurity.cas.serviceUrl ="/j_spring_cas_security_check"

但是我很確定我在這里和那里都缺少一些和平。 現在做什么? 現在,未經授權的用戶被重定向到/ auth / login,並且通常的spring安全登錄表單在這里向我打招呼進行身份驗證。 我希望我可以關閉這種行為。

首先,我想問一下,如何獲得Spring Security將我重定向到CAS進行身份驗證,而不是通常的身份驗證。

其次,我想問一下如何解決可以在身份驗證過程中實現自定義行為的問題。

第三,任何人都可以用兩句話來解釋Spring Security的過濾器和上下文到底是什么? 也許有一些文章詳細解釋了整個過程的工作方式。

先感謝您

我找到了第一個問題的答案。 報告並討論了一個錯誤: https : //jira.grails.org/browse/GPSPRINGSECURITYCAS-4#issue-tabs長話短說,一個人必須從cas插件參數中復制所有默認配置參數。 這將導致cas插件正確初始化。

我將繼續尋找其他兩個的修復/說明。

暫無
暫無

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

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