詳解使用django-mama-cas快速搭建CAS服務(wù)的實(shí)現(xiàn)
當(dāng)公司有多條產(chǎn)品線,或者有多個(gè)不同的應(yīng)用的時(shí)候,每次都做登錄是個(gè)非常煩人的事情。(原諒我沒有從SSO的角度看這個(gè)問題。。對(duì)我來說能偷懶少寫點(diǎn)東西最實(shí)在)。為什么需要每次都做個(gè)登錄?做登錄就意味著我的系統(tǒng)還得要有用戶、角色、菜單管理,天啊!RBAC又來了(攤手)。
當(dāng)我新做一個(gè)應(yīng)用的時(shí)候,我最希望的就是這些東西都是現(xiàn)有的,接入一下就可以用了,一方面來說省事,另外一方面來說,也節(jié)省測(cè)試的時(shí)間。從服務(wù)的角度來看,認(rèn)證這種動(dòng)作也應(yīng)該被劃分到一個(gè)具體的服務(wù)里面去。
為什么沒有用Jasig
無論是OSC還是Github里面,基于Jasig的實(shí)現(xiàn)還是非常多的,不過Jasig也太多配置項(xiàng)了。。看著頭暈。大周末的時(shí)間不適合想那么復(fù)雜的事情。。然后翻到了django-cas這個(gè)系列的項(xiàng)目,不過django-cas這個(gè)項(xiàng)目早就停更了,另外還有django-mama-cas和django-cas-ng,試了下django-cas-ng。。文檔不全,看著比較累(周末的時(shí)候腦袋發(fā)揮不了全部狀態(tài)。。。。),django-mama-cas這個(gè)項(xiàng)目倒是挺不錯(cuò)的,文檔全,配置容易。一下就搞出來了(不過API上面還不是非常全,比起其他來說還是好很多的啦)
安裝django-mama-cas
pip install django-mama-cas
更新配置
INSTALLED_APPS = ( # ...existing apps... 'mama_cas', )
更新路由
urlpatterns = [ # ...existing urls... url(r'^cas/', include('mama_cas.urls')), ]
添加回調(diào),這里使用內(nèi)置的,也可以自己擴(kuò)展?;卣{(diào)主要是登錄后可以用ticket過來換用戶的其他信息
MAMA_CAS_SERVICES = [ { 'SERVICE': 'http://127.0.0.1:8000', 'CALLBACKS': [ 'mama_cas.callbacks.user_model_attributes', ], }, ]
好啦~到此該配置的都配好了。然后就可以使用了,這個(gè)app最主要的api有2個(gè)
http://127.0.0.1:8000/cas/login?service=http://127.0.0.1:8000/admin
這個(gè)是用于登錄的,service就是認(rèn)證后要幫你回調(diào)到哪,回調(diào)過去之后有個(gè)Ticket的,自己存起來
Ticket拿到之后就可以過來換用戶信息了,用戶的信息都取得到,然后自行放到session里面就完事。
小結(jié)
Django-mama-cas這個(gè)項(xiàng)目還是非常簡單易用的,下次把Oauth配合一下就可以很方便的把統(tǒng)一認(rèn)證和RBAC的事情都在這個(gè)服務(wù)搞定了,這種功能每次都寫還真是很煩人的
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用matplotlib.pyplot畫熱圖和損失圖的代碼詳解
眾所周知,在完成論文相關(guān)工作時(shí)畫圖必不可少,如損失函數(shù)圖、熱力圖等是非常常見的圖,在本文中,總結(jié)了這兩個(gè)圖的畫法,下面給出了完整的代碼,開箱即用,感興趣的同學(xué)可以自己動(dòng)手嘗試一下2023-09-09Transpose 數(shù)組行列轉(zhuǎn)置的限制方式
今天小編就為大家分享一篇Transpose 數(shù)組行列轉(zhuǎn)置的限制方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-02-02python實(shí)現(xiàn)字符串和字典的轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)字符串和字典的轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python爬取微信讀書實(shí)現(xiàn)讀書免費(fèi)自由
主要跟大家介紹一下,我是如何用Python爬取小說,再導(dǎo)入微信讀書的。成功實(shí)現(xiàn)在微信讀書中各種“白票”付費(fèi)小說,有需要的朋友可以借鑒參考下2021-09-09Python查找字符串中包含的多個(gè)元素的實(shí)現(xiàn)
本文詳細(xì)介紹了如何使用Python查找字符串中包含的多個(gè)元素,包括基本字符串操作和使用正則表達(dá)式進(jìn)行高級(jí)搜索,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Python如何使用logging為Flask增加logid
這篇文章主要介紹了Python如何使用logging為Flask增加logid,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03Pytorch?Mac?GPU?訓(xùn)練與測(cè)評(píng)實(shí)例
這篇文章主要為大家介紹了Pytorch?Mac?GPU?訓(xùn)練與測(cè)評(píng)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01python的unittest測(cè)試類代碼實(shí)例
這篇文章主要介紹了python的unittest測(cè)試類代碼實(shí)例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-12-12Flask框架重定向,錯(cuò)誤顯示,Responses響應(yīng)及Sessions會(huì)話操作示例
這篇文章主要介紹了Flask框架重定向,錯(cuò)誤顯示,Responses響應(yīng)及Sessions會(huì)話操作,結(jié)合實(shí)例形式分析了flask框架中重定向,錯(cuò)誤顯示,Responses響應(yīng)及Sessions會(huì)話操作相關(guān)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-08-08