CAS單點(diǎn)登錄-靜態(tài)Service配置(六)

簡(jiǎn)介

cas客戶(hù)端接入稱(chēng)之為service,必須經(jīng)過(guò)cas的允許才能進(jìn)行登錄屹篓,當(dāng)然不同的客戶(hù)端可以做不同的事情,其中包括:

  • 自定義主題(各客戶(hù)端登錄頁(yè)自定義)
  • 自定義屬性(服務(wù)屬性(固定)與用戶(hù)屬性(動(dòng)態(tài)))
  • 自定義協(xié)議
  • 自定義登錄后跳轉(zhuǎn)方式匙奴,跳轉(zhuǎn)路徑
  • 授權(quán)策略(拒絕屬性堆巧、可登錄時(shí)間范圍限制、等等)
  • 拒絕授權(quán)模式

接下來(lái)來(lái)一個(gè)FAQ

A: 什么是service泼菌,根cas有什么關(guān)系谍肤?
B: service是使用型, cas是服務(wù)型,cas好比游樂(lè)園哗伯,service好比來(lái)游樂(lè)園的游客
A: 那service如何對(duì)接cas荒揣?service如何知道是否被允許接入?
B: 好比游客需要進(jìn)入游樂(lè)園焊刹,那么游客需要門(mén)票系任,獲取門(mén)票有多種方式,可以用手機(jī)校驗(yàn)碼虐块,或者身份證進(jìn)行獲取俩滥。當(dāng)然如果是犯罪分子門(mén)票都買(mǎi)不了,更何況進(jìn)去游樂(lè)園
A: 具體service如何作為客戶(hù)端使用贺奠?
B: 好比買(mǎi)門(mén)票霜旧,必須填寫(xiě)身份證號(hào)、手機(jī)號(hào)敞嗡、付款等流程颁糟,當(dāng)然也可以通過(guò)不同渠道購(gòu)買(mǎi),cas也有不同的客戶(hù)端實(shí)現(xiàn)喉悴,cas client棱貌、pac4j等
A: service接入有何好處?
B: 被接入的service無(wú)需進(jìn)行輸入密碼即可進(jìn)入系統(tǒng)箕肃,好比A-service(OA系統(tǒng))登錄了婚脱,B-service(賬單系統(tǒng)),C-service(CRM系統(tǒng))無(wú)需再次登錄勺像,傳統(tǒng)的方式有10個(gè)八個(gè)系統(tǒng)進(jìn)行登錄障贸,用戶(hù)會(huì)瘋掉,開(kāi)發(fā)員也需要管理多個(gè)系統(tǒng)的帳號(hào)數(shù)據(jù)

實(shí)戰(zhàn)

持久化策略:

  • InMemory XML(通過(guò)spring bean進(jìn)行內(nèi)存存儲(chǔ))
  • JSON(通過(guò)json文件存儲(chǔ)) 推薦 ???
  • YAML(通過(guò)yml文件存儲(chǔ))
  • Mongo(文檔數(shù)據(jù)庫(kù)持久化)推薦 ?????
  • JPA(關(guān)系型數(shù)據(jù)庫(kù)持久化)
  • DynameDb
  • LDAP
  • Cochbase

在sso初步上線時(shí)推薦采用json文件存儲(chǔ)吟宦,后面逐步多服務(wù)注入時(shí)推薦采用Mongo進(jìn)行存儲(chǔ)篮洁,采用cas-management進(jìn)行采用UI進(jìn)行管理我們的數(shù)據(jù),目前階段殃姓,持久化策略必須和cas進(jìn)行配置一致才能生效

本章進(jìn)行service的json配置及介紹袁波,下一章進(jìn)行cas-management配置

JSON 配置

需求:對(duì)所有http://localhost開(kāi)頭請(qǐng)求的service進(jìn)行允許認(rèn)證

resources/services下新建文件localhost-100001.json

{
  "@class": "org.apereo.cas.services.RegexRegisteredService",
  "serviceId": "^(http)://localhost.*",
  "name": "本地服務(wù)",
  "id": 100001,
  "description": "這是一個(gè)本地允許的服務(wù)瓦阐,通過(guò)localhost訪問(wèn)都允許通過(guò)",
  "evaluationOrder": 1
}

注意:
json文件名字規(guī)則為${name}-${id}.json, id必須為json文件內(nèi)容id一致

json文件解釋?zhuān)?/strong>

  • @class:必須為org.apereo.cas.services.RegisteredService的實(shí)現(xiàn)類(lèi),對(duì)其他屬性進(jìn)行一個(gè)json反射對(duì)象篷牌,常用的有RegexRegisteredService睡蟋,匹配策略為id的正則表達(dá)式
  • serviceId:唯一的服務(wù)id
  • name: 服務(wù)名稱(chēng),會(huì)顯示在默認(rèn)登錄頁(yè)
  • id:全局唯一標(biāo)志
  • description:服務(wù)描述枷颊,會(huì)顯示在默認(rèn)登錄頁(yè)
  • evaluationOrder:確定已注冊(cè)服務(wù)的相對(duì)評(píng)估順序戳杀。當(dāng)兩個(gè)服務(wù)URL表達(dá)式覆蓋相同的服務(wù)時(shí),此標(biāo)志尤其重要;評(píng)估順序決定首先評(píng)估哪個(gè)注冊(cè)夭苗,并作為內(nèi)部排序因素信卡。 (越小越優(yōu)先)

除了以上說(shuō)的還有很多配置策略以及節(jié)點(diǎn),具體看官方文檔官方文檔
,配置不同的RegisteredService也會(huì)有稍微不一樣

啟用識(shí)別

上面新建了json文件cas還不知道要去識(shí)別json题造,需要打開(kāi)開(kāi)關(guān)
application.properties

#開(kāi)啟識(shí)別json文件坐求,默認(rèn)false
cas.serviceRegistry.initFromJson=true

#自動(dòng)掃描服務(wù)配置,默認(rèn)開(kāi)啟
#cas.serviceRegistry.watcherEnabled=true
#120秒掃描一遍
#cas.serviceRegistry.repeatInterval=120000
#延遲15秒開(kāi)啟
#cas.serviceRegistry.startDelay=15000

#默認(rèn)json/yml資源加載路徑為resources/services
#cas.serviceRegistry.config.location=classpath:/services

此中方式每次有新的service都需要添加對(duì)應(yīng)json文件晌梨,不方便維護(hù),cas為我們提供了對(duì)service的管理平臺(tái)须妻,通過(guò)UI界面進(jìn)行操作管理仔蝌。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市荒吏,隨后出現(xiàn)的幾起案子敛惊,更是在濱河造成了極大的恐慌,老刑警劉巖绰更,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞧挤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡儡湾,警方通過(guò)查閱死者的電腦和手機(jī)特恬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)徐钠,“玉大人癌刽,你說(shuō)我怎么就攤上這事〕⒇ぃ” “怎么了显拜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)爹袁。 經(jīng)常有香客問(wèn)我远荠,道長(zhǎng),這世上最難降的妖魔是什么失息? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任譬淳,我火速辦了婚禮档址,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瘦赫。我一直安慰自己辰晕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布确虱。 她就那樣靜靜地躺著含友,像睡著了一般。 火紅的嫁衣襯著肌膚如雪校辩。 梳的紋絲不亂的頭發(fā)上窘问,一...
    開(kāi)封第一講書(shū)人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音宜咒,去河邊找鬼惠赫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛故黑,可吹牛的內(nèi)容都是我干的儿咱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼场晶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼混埠!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起诗轻,我...
    開(kāi)封第一講書(shū)人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤钳宪,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后扳炬,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體吏颖,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年恨樟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了半醉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡厌杜,死狀恐怖奉呛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情夯尽,我是刑警寧澤瞧壮,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站匙握,受9級(jí)特大地震影響咆槽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜圈纺,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一秦忿、第九天 我趴在偏房一處隱蔽的房頂上張望麦射。 院中可真熱鬧,春花似錦灯谣、人聲如沸潜秋。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)峻呛。三九已至,卻和暖如春辜窑,著一層夾襖步出監(jiān)牢的瞬間钩述,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工穆碎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留牙勘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓所禀,卻偏偏與公主長(zhǎng)得像方面,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子色徘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中葡幸。。贺氓。 其實(shí)如果沒(méi)有APIManager這一層是沒(méi)法使用delegate的,畢竟多個(gè)單...
    yhtang閱讀 5,193評(píng)論 1 23
  • 【環(huán)境說(shuō)明】: 本文演示過(guò)程在同一個(gè)機(jī)器上的(也可以在三臺(tái)實(shí)體機(jī)器或者三個(gè)的虛擬機(jī)上)床蜘,環(huán)境如下: windows...
    yljava閱讀 9,287評(píng)論 3 8
  • 主要介紹CAS SSO的認(rèn)證流程辙培。有關(guān)這方面的內(nèi)容再網(wǎng)上也有很多資料,寫(xiě)這篇總結(jié)目的一來(lái)是自己在理解這塊內(nèi)容的時(shí)候...
    spilledyear閱讀 9,830評(píng)論 1 17
  • 環(huán)境 cas-server-4.1.8邢锯, cas-client-3.4.0扬蕊, Java-8,Maven-3丹擎, To...
    程序員BUG閱讀 1,322評(píng)論 2 26
  • 轉(zhuǎn)載自:http://blog.csdn.net/turkeyzhou/article/details/55097...
    大詩(shī)兄_zl閱讀 2,379評(píng)論 0 3