国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python django集成cas驗證系統(tǒng)

2019-11-25 18:19:35
字體:
供稿:網(wǎng)友

加入cas的好處

cas是什么東西就不多說了,簡而言之就是單點登陸系統(tǒng),一處登陸,全網(wǎng)有權(quán)限的系統(tǒng)均可以訪問.

一次登陸,多個系統(tǒng)互通
cas一般均放置在內(nèi)網(wǎng),加入cas驗證則必須要求用戶走vpn訪問,提高安全性;
cas可和域控等系統(tǒng)結(jié)合,密碼定時過期;
基本認(rèn)證統(tǒng)一走cas控制,減去開帳號等麻煩事;
django 如何使用cas驗證

django 的好處就是支持的包多,網(wǎng)上已經(jīng)有大神做好的相關(guān)的app,直接下載、安裝就可以了。

我們要做的就是下載、解壓拷貝,略微配置下就可以跑了。

至于安裝也是非常簡單的,直接解壓之后python setup.py install 就可以了。

官方鏈接:

django-cas

django-cas 如何配置

配置方法

至于配置,熟悉django的同學(xué)也都明白,django 是安裝app來劃分的,可擴(kuò)展性非常強(qiáng)。

django-cas也是一個app,所以我們按照app的配置方法就配置就可以了。

* 在MIDDLEWARE_CLASSES 中添加CAS的配置:    'django_cas.middleware.CASMiddleware' * 在AUTHENTICATION_BACKENDS 中添加CAS的配置:   'django_cas.backends.CASBackend'  注意在django1.6 中默認(rèn)是沒有AuthenticationMiddleware 的配置項的,需要手動添加, 并添加該行配置:   'django.contrib.auth.backends.ModelBackend', * 配置CAS_SERVER_URL: 該地址為cas驗證服務(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'

實例

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')

沒啥可說的,只是簡單的檢測用戶是否登陸,然后打印以行字符串。

urls文件

from django.conf.urls import patterns, include, urlfrom django.contrib import adminfrom 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)),)

更沒有什么東西了,一看都懂的。

測試

我們先登陸下看看:

可以看的很明顯在訪問我們的服務(wù)器之后,由于未登陸,所以接著302跳轉(zhuǎn)到
cas服務(wù)器進(jìn)行校驗。

這個圖是緊接著上一個圖的,在cas服務(wù)器校驗之后,如果校驗通過,則跳轉(zhuǎn)會我們的
服務(wù)器地址,這里似乎是默認(rèn)跳轉(zhuǎn)回到了/,而我們在/對應(yīng)的views里面打印了兩行
字符,看到確實打印了login in ,則表示我們的登陸是成功的!

注銷等其他也都類型,不再多說了。

總結(jié)

django_cas 總體的來說還是很方便的,可以非常快速的幫我接入cas驗證系統(tǒng),但

目前的配置似乎還是有點問題的,注銷之后再次登陸是無法跳轉(zhuǎn)回我們的服務(wù)器地址的,

而是跳轉(zhuǎn)回了cas的地址。 有待繼續(xù)驗證哈。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 松阳县| 平乐县| 赫章县| 庆云县| 来安县| 辛集市| 嘉黎县| 兴隆县| 湘潭县| 任丘市| 东山县| 辽宁省| 黄平县| 乌拉特中旗| 瑞金市| 巫山县| 宁城县| 汤阴县| 沙洋县| 八宿县| 迁安市| 布尔津县| 咸丰县| 巴东县| 靖江市| 大庆市| 沁水县| 乡宁县| 隆林| 惠来县| 余干县| 凤台县| 抚宁县| 赞皇县| 沿河| 平定县| 淳安县| 卢龙县| 宜宾市| 靖边县| 西和县|