python django集成cas驗(yàn)證系統(tǒng)
加入cas的好處
cas是什么東西就不多說了,簡(jiǎn)而言之就是單點(diǎn)登陸系統(tǒng),一處登陸,全網(wǎng)有權(quán)限的系統(tǒng)均可以訪問.
一次登陸,多個(gè)系統(tǒng)互通
cas一般均放置在內(nèi)網(wǎng),加入cas驗(yàn)證則必須要求用戶走vpn訪問,提高安全性;
cas可和域控等系統(tǒng)結(jié)合,密碼定時(shí)過期;
基本認(rèn)證統(tǒng)一走cas控制,減去開帳號(hào)等麻煩事;
django 如何使用cas驗(yàn)證
django 的好處就是支持的包多,網(wǎng)上已經(jīng)有大神做好的相關(guān)的app,直接下載、安裝就可以了。
我們要做的就是下載、解壓拷貝,略微配置下就可以跑了。
至于安裝也是非常簡(jiǎn)單的,直接解壓之后python setup.py install 就可以了。
官方鏈接:
django-cas 如何配置
配置方法
至于配置,熟悉django的同學(xué)也都明白,django 是安裝app來劃分的,可擴(kuò)展性非常強(qiáng)。
django-cas也是一個(gè)app,所以我們按照app的配置方法就配置就可以了。
* 在MIDDLEWARE_CLASSES 中添加CAS的配置: 'django_cas.middleware.CASMiddleware' * 在AUTHENTICATION_BACKENDS 中添加CAS的配置: 'django_cas.backends.CASBackend' 注意在django1.6 中默認(rèn)是沒有AuthenticationMiddleware 的配置項(xiàng)的,需要手動(dòng)添加, 并添加該行配置: 'django.contrib.auth.backends.ModelBackend', * 配置CAS_SERVER_URL: 該地址為cas驗(yàn)證服務(wù)器的地址,必須配置
完整配置如下
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ) MIDDLEWARE_CLASSES = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django_cas.middleware.CASMiddleware', 'django.middleware.doc.XViewMiddleware', ) AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'django_cas.backends.CASBackend', ) CAS_SERVER_URL = 'http://cas.oxxs.letv.cn:6789/cas/login'
實(shí)例
settings.py配置文件
如上配置
views文件
# Create your views here. from django.http import HttpResponse def login(request): if request.user.is_authenticated(): return HttpResponse('login in at port 9000') else: return HttpResponse('not login at port 9000')
沒啥可說的,只是簡(jiǎn)單的檢測(cè)用戶是否登陸,然后打印以行字符串。
urls文件
from django.conf.urls import patterns, include, url from django.contrib import admin from report_system import views admin.autodiscover() urlpatterns = patterns('', # Examples: # url(r'^$', 'report_system.views.home', name='home'), # url(r'^blog/', include('blog.urls')), url(r'^$', views.login), url(r'^login/$', 'django_cas.views.login'), url(r'^logout/$', 'django_cas.views.logout'), url(r'^admin/', include(admin.site.urls)), )
更沒有什么東西了,一看都懂的。
測(cè)試
我們先登陸下看看:
可以看的很明顯在訪問我們的服務(wù)器之后,由于未登陸,所以接著302跳轉(zhuǎn)到
cas服務(wù)器進(jìn)行校驗(yàn)。
這個(gè)圖是緊接著上一個(gè)圖的,在cas服務(wù)器校驗(yàn)之后,如果校驗(yàn)通過,則跳轉(zhuǎn)會(huì)我們的
服務(wù)器地址,這里似乎是默認(rèn)跳轉(zhuǎn)回到了/,而我們?cè)?對(duì)應(yīng)的views里面打印了兩行
字符,看到確實(shí)打印了login in ,則表示我們的登陸是成功的!
注銷等其他也都類型,不再多說了。
總結(jié)
django_cas 總體的來說還是很方便的,可以非常快速的幫我接入cas驗(yàn)證系統(tǒng),但
目前的配置似乎還是有點(diǎn)問題的,注銷之后再次登陸是無法跳轉(zhuǎn)回我們的服務(wù)器地址的,
而是跳轉(zhuǎn)回了cas的地址。 有待繼續(xù)驗(yàn)證哈。
相關(guān)文章
python 列表元素左右循環(huán)移動(dòng) 的多種解決方案
這篇文章主要介紹了python 列表元素左右循環(huán)移動(dòng) 的多種解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03Python 實(shí)現(xiàn)黑客帝國(guó)中的字符雨的示例代碼
這篇文章主要介紹了Python 實(shí)現(xiàn)黑客帝國(guó)中的字符雨的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02詳解selenium + chromedriver 被反爬的解決方法
這篇文章主要介紹了詳解selenium + chromedriver 被反爬的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python實(shí)現(xiàn)簡(jiǎn)單自動(dòng)評(píng)論自動(dòng)點(diǎn)贊自動(dòng)關(guān)注腳本
這篇文章主要為大家介紹了Python實(shí)現(xiàn)簡(jiǎn)單自動(dòng)評(píng)論自動(dòng)點(diǎn)贊自動(dòng)關(guān)注腳本,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06python實(shí)現(xiàn)微信自動(dòng)回復(fù)及批量添加好友功能
這篇文章主要介紹了python實(shí)現(xiàn)微信自動(dòng)回復(fù)及python 批量生成微信添加好友截圖功能的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07python獲取當(dāng)前文件路徑以及父文件路徑的方法
今天小編就為大家分享一篇python獲取當(dāng)前文件路徑以及父文件路徑的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07