詳解使用django-mama-cas快速搭建CAS服務的實現(xiàn)
當公司有多條產品線,或者有多個不同的應用的時候,每次都做登錄是個非常煩人的事情。(原諒我沒有從SSO的角度看這個問題。。對我來說能偷懶少寫點東西最實在)。為什么需要每次都做個登錄?做登錄就意味著我的系統(tǒng)還得要有用戶、角色、菜單管理,天啊!RBAC又來了(攤手)。
當我新做一個應用的時候,我最希望的就是這些東西都是現(xiàn)有的,接入一下就可以用了,一方面來說省事,另外一方面來說,也節(jié)省測試的時間。從服務的角度來看,認證這種動作也應該被劃分到一個具體的服務里面去。
為什么沒有用Jasig
無論是OSC還是Github里面,基于Jasig的實現(xiàn)還是非常多的,不過Jasig也太多配置項了。??粗^暈。大周末的時間不適合想那么復雜的事情。。然后翻到了django-cas這個系列的項目,不過django-cas這個項目早就停更了,另外還有django-mama-cas和django-cas-ng,試了下django-cas-ng。。文檔不全,看著比較累(周末的時候腦袋發(fā)揮不了全部狀態(tài)。。。。),django-mama-cas這個項目倒是挺不錯的,文檔全,配置容易。一下就搞出來了(不過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')),
]
添加回調,這里使用內置的,也可以自己擴展。回調主要是登錄后可以用ticket過來換用戶的其他信息
MAMA_CAS_SERVICES = [
{
'SERVICE': 'http://127.0.0.1:8000',
'CALLBACKS': [
'mama_cas.callbacks.user_model_attributes',
],
},
]
好啦~到此該配置的都配好了。然后就可以使用了,這個app最主要的api有2個
http://127.0.0.1:8000/cas/login?service=http://127.0.0.1:8000/admin

這個是用于登錄的,service就是認證后要幫你回調到哪,回調過去之后有個Ticket的,自己存起來
Ticket拿到之后就可以過來換用戶信息了,用戶的信息都取得到,然后自行放到session里面就完事。
小結
Django-mama-cas這個項目還是非常簡單易用的,下次把Oauth配合一下就可以很方便的把統(tǒng)一認證和RBAC的事情都在這個服務搞定了,這種功能每次都寫還真是很煩人的
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python不到50行代碼完成了多張excel合并的實現(xiàn)示例
這篇文章主要介紹了python不到50行代碼完成了多張excel合并的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05
numpy矩陣乘法中的multiply,matmul和dot的使用
本文主要介紹了numpy矩陣乘法中的multiply,matmul和dot的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02

