跳转到主要内容

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 (13.0 kB 查看哈希值

上传时间:

构建分布

django_cas_client-1.5.3-py2.py3-none-any.whl (16.9 kB 查看哈希值

上传时间: Python 2 Python 3

由以下支持