日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

基于Django集成CAS實現(xiàn)流程詳解

瀏覽:200日期:2024-09-16 17:26:43

前言

單點登錄(Single Sign On,SSO)是指在多個應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。有多種開源的單點登錄方案,其中,CAS(Central Authentication Service)是Yale University開發(fā)的、應(yīng)用比較廣泛的一種實現(xiàn)。

CAS概述

CAS 全稱集中式認證服務(wù)(Central Authentication Service),是實現(xiàn)單點登錄(SSO)的一種手段。

對于本文用戶可感知的層面,認證過程如下:

前端訪問后端登錄接口 后端返回重定向到 CAS 服務(wù)器的登錄頁面,并攜帶當(dāng)前用戶訪問的網(wǎng)頁鏈接 用戶登錄,瀏覽器發(fā)送請求到 CAS 服務(wù)器進行認證 CAS 認證通過,將本次登錄保存到會話,返回回調(diào)地址給后端 后端返回重定向請求給前端 前端重定向到跳轉(zhuǎn)登錄前的頁面 中間涉及到的 TGT 處理邏輯已經(jīng)由開源 CAS Client(python-cas) 實現(xiàn)。 要注意,CAS 服務(wù)器本身有一些過濾條件,例如域名白名單等,因此接入的時候需要將新系統(tǒng)的域名或 IP 加入 CAS 服務(wù)端配置中。

接入 CAS

因為是第一次接觸 CAS ,為了方便調(diào)試,我在本地直接啟動一個 CAS 服務(wù)端用于調(diào)試。

CAS 客戶端也就是集成于我們實際開發(fā)的Django代碼中。

CAS 服務(wù)端配置

GitHub 中有很多 CAS 項目,我選了一個基于 Django 的 django-mama-cas 應(yīng)用。

創(chuàng)建 django-cas-server 項目:

django-admin startproject django-cas-server

安裝 django-mama-cas 依賴:

pip install django-mama-cas

在 INSTALLED_APPS 中添加 ’mama_cas’ 應(yīng)用:

settings.py

settings.pyINSTALLED_APPS = [ ... ’mama_cas’,]

添加 mama_cas 應(yīng)用中的路由:

urls.py

urlpatterns += [url(r’’, include(’mama_cas.urls’))]

配置 CAS 信息:

MAMA_CAS_SERVICES = [ { # 必填項,此項為**Client** IP:Port,相當(dāng)于白名單 ’SERVICE’: ’http://127.0.0.1:8000’, # 回調(diào)模式,具體參考官方文檔 ’CALLBACKS’: [ ’mama_cas.callbacks.user_model_attributes’, ], },]

使用

python manage.py runserver 0.0.0.0:9000

服務(wù)啟動后,可以訪問 http://0.0.0.0:9000/login 到達 CAS 登錄頁面。

django-mama-cas 默認使用的是 django.auth 模塊 User ,使用 django-admin 創(chuàng)建超級用戶,該用戶也就可以用于登錄 CAS :

CAS 客戶端

Python 有開源的 CAS 客戶端 python-cas ,由于我使用的 Django 開發(fā)后端,因此直接選用封裝好 python-cas 的 Django 應(yīng)用 django-cas-ng 。

先安裝依賴:

pip install django-cas-ng

在 settings.py 中的 INSTALLED_APPS 和 AUTHENTICATION_BACKENDS 兩處添加 django-cas-ng 的配置:

settings.py

INSTALLED_APPS = ( # ... other installed apps ’django_cas_ng’,) AUTHENTICATION_BACKENDS = ( ’django.contrib.auth.backends.ModelBackend’, ’django_cas_ng.backends.CASBackend’,)

同時參考準(zhǔn)備接入的 CAS 地址和版本,添加幾個對應(yīng)的配置:

# CAS 的地址CAS_SERVER_URL = ’http://127.0.0.1:30000’# CAS 版本CAS_VERSION = ’3’# 存入所有 CAS 服務(wù)端返回的 User 數(shù)據(jù)。CAS_APPLY_ATTRIBUTES_TO_USER = True

添加登入登出的路由(這兩部分邏輯已由 django-cas-ng 完成,可以直接使用。如果需要擴展,可以參照源碼自己實現(xiàn)即可):

urls.py

import django_cas_ng.views as cas_viewsurlpatterns = [ ... path(’login/’, django_cas_ng.views.LoginView.as_view(), name=’cas_ng_login’), path(’logout/’, django_cas_ng.views.LogoutView.as_view(), name=’cas_ng_logout’),]

調(diào)試

啟動當(dāng)前服務(wù):

python manage.py runserver

訪問 http://127.0.0.1:8000/login ,網(wǎng)頁將會跳轉(zhuǎn)到 http://127.0.0.1:30000/login?service=http://127.0.0.1:8000 CAS 登錄頁面(注意端口不同),登錄成功后將會跳轉(zhuǎn)回來。

總結(jié)

CAS 本身邏輯需要理解,但是畢竟是成熟的單點登錄架構(gòu),一般都存在開源的客戶端實現(xiàn),代碼量不多,多調(diào)試多參考文檔配置即可。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费污视频在线一区| 成人羞羞在线观看网站| 亚洲激情婷婷| 欧美日韩国产综合网| 亚洲播播91| 亚洲欧美日韩国产| 国产高清久久| 国产在线日韩| 蜜臀av在线播放一区二区三区| 91精品推荐| 亚洲精品日本| 亚洲综合专区| 999在线观看精品免费不卡网站| 亚洲网址在线观看| 免费看欧美美女黄的网站| 欧美一级一区| 国产乱人伦精品一区| 亚洲高清成人| 亚洲tv在线| 国产亚洲人成a在线v网站| 精品国产成人| 亚洲天堂av影院| 免费成人性网站| 97成人在线| 国产精品免费大片| 日韩精品第一区| 亚洲福利精品| 国产精品videossex久久发布| 麻豆传媒一区二区三区| 欧美~级网站不卡| 亚洲人亚洲人色久| 日本亚洲视频在线| 久久不见久久见免费视频7| 国产精品mm| 先锋影音国产一区| 国产午夜久久av| 一区二区三区四区日本视频| 亚洲一区二区动漫| 91精品啪在线观看国产爱臀| 国产99亚洲| 亚洲精选久久| 日韩精品水蜜桃| 综合精品一区| 偷拍精品精品一区二区三区| 亚洲一区成人| 日本免费在线视频不卡一不卡二| 中文字幕人成乱码在线观看| 久久久天天操| 亚洲精品系列| 国产中文在线播放| 蜜桃视频免费观看一区| 日韩免费高清| 亚洲精品第一| 电影亚洲精品噜噜在线观看| 国产综合亚洲精品一区二| 亚洲精品2区| 国产欧美91| 久久国产电影| 97精品国产| 日本中文字幕一区二区视频| 在线日韩中文| 国产福利一区二区三区在线播放| 午夜免费一区| 国产精品一在线观看| 麻豆精品蜜桃视频网站| 亚洲精品乱码| 精品日韩视频| 国产精品蜜芽在线观看| 综合亚洲视频| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 激情综合在线| 国产精品午夜一区二区三区| 欧美精品一区二区久久| 麻豆成全视频免费观看在线看| 亚洲制服一区| 亚洲一区二区三区久久久| 日韩久久精品| av高清不卡| 91精品一区| 久久一级电影| 色爱综合av| 麻豆精品久久久| 国产欧美日本| 影音先锋久久精品| 视频一区在线视频| 成人在线视频中文字幕| 视频一区视频二区中文字幕| 午夜国产精品视频免费体验区| 久久久久免费| 欧美aa在线观看| 国产一区调教| 亚洲黄色中文字幕| 欧美成a人片免费观看久久五月天| 日本精品另类| 亚洲精选成人| 欧美亚洲免费| 日本aⅴ精品一区二区三区| 久久一区二区中文字幕| 在线观看免费一区二区| 日韩免费小视频| 中文字幕在线视频网站| 欧美黄色一区| 美女av在线免费看| 精品一区二区三区中文字幕| 欧美aⅴ一区二区三区视频| 国产日韩一区二区三区在线播放| 中文视频一区| 欧美午夜三级| 国产乱人伦丫前精品视频| 精品资源在线| 久久影视三级福利片| 在线人成日本视频| 欧美丰满日韩| 韩日一区二区三区| 久久国产亚洲精品| 国产精品极品国产中出| 国产福利电影在线播放| 手机在线电影一区| 欧美国产美女| 国产精品网站在线看| 国产一区二区三区亚洲| 99精品视频在线| 亚洲精品一区二区妖精| 一区二区不卡| 日韩高清不卡一区| 一级成人国产| 久久久免费人体| 精品午夜av| 国产亚洲一级| 亚洲另类黄色| 国产精品久久久久av蜜臀| 久久永久免费| 99pao成人国产永久免费视频 | 午夜精品成人av| 亚洲在线网站| 日本不卡一二三区黄网| 给我免费播放日韩视频| 日韩另类视频| 亚洲精品麻豆| 欧美日韩一视频区二区| 日韩国产欧美| 激情91久久| 精品99在线| 91精品一区二区三区综合| 午夜久久黄色| 免费亚洲婷婷| 日本韩国欧美超级黄在线观看| 婷婷精品在线| 国产一区二区三区四区大秀| 亚洲欧美激情诱惑| 日韩av资源网| 国际精品欧美精品| 精品欧美久久| 久久精品国产久精国产| 久久精品影视| 久久av影院| 久久久9色精品国产一区二区三区| 男人的天堂久久精品| 国产精品久久国产愉拍| 精品视频在线观看网站| 国产视频一区在线观看一区免费| 日韩国产欧美一区二区三区| 久久五月天小说| 亚洲bt欧美bt精品777| 99视频精品全部免费在线视频| 美女久久网站| 日韩不卡视频在线观看| 亚洲综合色婷婷在线观看| 久久一区二区中文字幕| 日韩精品社区| 黄色亚洲免费| 国产精品久久久久久模特| 国产欧美日韩免费观看| 欧美日韩尤物久久| 日本成人在线网站| 国产亚洲激情| 国产a亚洲精品| 国产探花一区| 九一精品国产| 日韩欧美精品一区| 日本视频一区二区| 视频一区视频二区在线观看| 国产一区不卡| 精品久久久久中文字幕小说| 亚洲影院天堂中文av色| 亚洲一区欧美二区| 欧美日韩免费看片| 国产精品白丝久久av网站| 亚洲欧美日韩一区在线观看| 亚洲不卡视频| 在线精品一区| 精品免费av在线| av中文资源在线资源免费观看| 香蕉久久久久久久av网站| 欧美成人日韩| bbw在线视频| 免费观看亚洲| 国产精品一国产精品k频道56| 91亚洲精品在看在线观看高清| 欧美精品一卡|