Django Cas Client
项目描述
django-cas
Django的CAS客户端。此库需要Django 1.5或更高版本,以及Python 2.6、2.7、3.4
当前版本:1.5.3
这是K-State的分支,基于原始版本,并包含几个附加功能以及从
安装
此项目已在PyPi上注册为django-cas-client。要安装:
pip install django-cas-client==1.5.3
添加到URL
将登录和注销模式添加到您的main URLS配置中。
import cas.views
...
# CAS
path('admin/login/', cas.views.login, name='login'),
path('admin/logout/', cas.views.logout, name='logout'),
添加中间件和设置
设置您的CAS服务器URL
CAS_SERVER_URL = "https://signin.somehwere/cas/"
将cas添加到中间件类中
'cas.middleware.CASMiddleware',
添加身份验证后端
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'cas.backends.CASBackend',
)
如何贡献
从develop
分支分叉。向kstateome:develop
提交拉取请求。
运行测试
所有PR都必须通过单元测试。要本地运行测试
pip install -r requirements-dev.txt
python run_tests.py
CAS的settings.py
如果想要使用CAS,请添加以下内容到中间件:
MIDDLEWARE_CLASSES = (
'cas.middleware.CASMiddleware',
)
要将以下内容添加到settings.py
以使用CAS后端:
CAS_SERVER_URL = "Your Cas Server"
CAS_LOGOUT_COMPLETELY = True
CAS_PROVIDE_URL_TO_LOGOUT = True
附加功能
此分支包含原始中没有的附加功能
- 代理主机
- CAS响应回调
- CAS网关
- 代理票据(来自Edmund Crewe)
代理主机
您需要设置中间件以处理代理的使用。
添加一个设置PROXY_DOMAIN
,为客户端想要使用的域名。然后添加
MIDDLEWARE_CLASSES = (
'cas.middleware.ProxyMiddleware',
)
此中间件需要在django common
中间件之前添加。
CAS响应回调
要存储从CAS获取的数据,创建一个回调函数,该函数接受来自proxyValidate响应的ElementTree对象。可以存在多个回调,它们可以位于任何位置。在settings.py
中定义回调(s)
CAS_RESPONSE_CALLBACKS = (
'path.to.module.callbackfunction',
'anotherpath.to.module.callbackfunction2',
)
并在path/to/module.py
中创建函数
def callbackfunction(tree):
username = tree[0][0].text
user, user_created = User.objects.get_or_create(username=username)
profile, created = user.get_profile()
profile.email = tree[0][1].text
profile.position = tree[0][2].text
profile.save()
CAS网关
要使用CAS网关功能,首先在设置中启用它。尝试在不显式启用此设置的情况下使用它将引发ImproperlyConfigured
CAS_GATEWAY = True
然后,将gateway
装饰器添加到一个视图中
from cas.decorators import gateway
@gateway()
def foo(request):
#stuff
return render(request, 'foo/bar.html')
自定义禁止页面
要显示自定义禁止页面,请将CAS_CUSTOM_FORBIDDEN
设置为path.to.some_view
。否则,将返回通用的HttpResponseForbidden
。
要求SSL登录
要强制服务URL始终针对HTTPS,请将CAS_FORCE_SSL_SERVICE_URL
设置为True
。
首次登录自动创建用户
默认情况下,将创建一个存根用户记录,在首次使用响应中的用户名成功进行CAS身份验证时使用。如果不想这样做,请将CAS_AUTO_CREATE_USER
设置为False
。
代理票据
此分支还包括Edmund Crewe的代理票据补丁。
您可以通过设置来选择退出由代理票据验证引起的时间延迟
CAS_PGT_FETCH_WAIT = False
项目详情
django-cas-client-1.5.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3eba0bb8933c8a9297050446aac95fd7761ae36dc7b9c6ed7790d110070f2ac2 |
|
MD5 | f87b287a40744125149037fbb16fe03e |
|
BLAKE2b-256 | 0ee3bbb58ae5caf7ac59db4961c57ff5b0039c69708ca3d43ef6b41833cb3c7b |