Tomcat+CAS以及cas的mysql数据库的验证
Tomcat+cas服务器的搭建可参考文档:
CAS服务搭建(ubuntu 10.04)
http://xiaolin0199.iteye.com/blog/683759
cas的mysql数据库验证可参考文档:
测试CAS服务器(二)
http://xiaolin0199.iteye.com/blog/686229
django-cas的应用
官方文档:https://bitbucket.org/cpcc/django-cas/overview
操作过程
1.下载django-cas包:https://bitbucket.org/cpcc/django-cas/get/tip.tar.gz
2.安装
解压后直接运行$sudo python setup.py install或将djang-cas包放在项目根目录下
3.settings.py的设置
在settings.py中加入
MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django_cas.middleware.CASMiddleware', 'django.middleware.doc.XViewMiddleware', ) AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'django_cas.backends.CASBackend', )
另外还有几个配置变量,如CAS_SERVER_URL是必须的,是你的cas服务器url地址,
CAS_SERVER_URL = 'http://sso.some.edu/cas/'
4. urls.py设置
urls.py中加入:
(r'^accounts/login/$', 'django_cas.views.login'), (r'^accounts/logout/$', 'django_cas.views.logout'),
这样你的用户验证就会有cas服务器完成
实现原理
写道
在用户进行登录时,会调用django-cas的登录函数,函数会用url跳转去CAS服务器上进行用户信息验证
当验证成功时,会返回用户名,django会根据该用户名去自己的auth_user表中查找用户,若没有用户,则新创建
当用户再次登录,就不经过CAS了,还是按原django的验证中间件,通过cookie+session判断
当验证成功时,会返回用户名,django会根据该用户名去自己的auth_user表中查找用户,若没有用户,则新创建
当用户再次登录,就不经过CAS了,还是按原django的验证中间件,通过cookie+session判断
结论
写道
就django-cas该项目来说,并不能很好的实现多网站单点登录,同时登录,同时注销
但django与CAS服务器配合,是一定能实现单点登录的
而且不止是django,其他的如asp,java servlets,都是能实现的
在网上看见过一个例子,两个servlets能通过CAS实现同步登录
但django与CAS服务器配合,是一定能实现单点登录的
而且不止是django,其他的如asp,java servlets,都是能实现的
在网上看见过一个例子,两个servlets能通过CAS实现同步登录
相关推荐
标题 "django3-cas-server-3.0.0.tar.gz" 指示这是一个针对 Django 3.x 版本优化的 CAS(Central Authentication Service)服务器的源代码压缩包。CAS 是一个开源的身份验证协议,它允许用户通过单一登录(Single ...
为支持django3对django_cas_ng进行修改 **Features** - Support CAS version 1.0, 2.0, 3.0 - Support Single Sign Out - Configuration of services via the django Admin application - Fine control on ...
django-cas-ng, Django ( 中央身份验证服务) 客户端 Django CAS django-cas-ng 是中央认证服务( CAS ) 客户端实现。 这里项目继承自 django-cas ( 自从 2013年04月 之后还没有更新过) 。 NG代表"下一代"。 我们的...
CAS服务器与Django应用通过特定协议交互,实现用户的统一认证管理。 5. **MySQL数据库**:作为数据存储层,用于保存CAS服务器所需的用户信息等数据。 #### 二、关键技术点解析 ##### 2.1 Django + UWSGI + Nginx ...
python3接入单点登录必备包
`django_cas_server`是一个基于Python的中央认证服务(CAS)服务器,它允许开发者实现单点登录(Single Sign-On, SSO)功能。SSO是一种用户在一个应用系统中登录后,可以在其他多个相互信任的应用系统中无需再次登录...
**django-cas-ng** 是一个基于Django框架的CAS(Central Authentication Service)客户端库,用于实现单点登录(Single Sign-On, SSO)功能。它兼容CAS 1.0、2.0和3.0协议,并且针对Django 2.0到3.0版本以及Python ...
django-mama-cas, Django 中央身份验证服务( CAS ) 单点登录(Single Sign-On) 服务器 MamaCAS MamaCAS是 Django 中央认证服务( CAS ) 单一登录和单一注销服务器。 它实现了 CAS 1.0.2.0和 3.0协议,包括一些可选的...
django-cas-ng被集成到Django项目中,主要通过认证后端和中间件来管理用户的登录状态。 知识点三:django-mama-cas的配置 服务端的配置通过Django的settings.py文件中的INSTALLED_APPS和MAMA_CAS_SERVICES来完成。...
在Django项目中,这个库通常用于处理用户的认证过程,允许用户通过一个中心化的CAS服务器进行登录,而不需要在每个应用中单独设置认证系统。Django CAS库会处理与CAS服务器的通信,包括票证验证、登录、登出等操作。...
基于django的单点登录系统实现机制当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校正,如果通过校正,应该返回给用户一个认证的分数...
CAS服务器 CAS Server是实现的Django应用程序。 默认情况下,身份验证过程使用django内部用户,但您可以轻松使用任何源(请参阅auth.py...依存关系django-cas-server取决于以下python软件包: Django> = 1.11 <3.
此外,通过将django-mama-cas与OAuth等技术结合,可以进一步完善统一认证和权限管理,达到优化用户体验和提升开发效率的双重目的。 通过本文的介绍,开发者应该对如何使用django-mama-cas来快速搭建CAS服务有了较为...
妈妈CAS MamaCAS是Django单一登录和单一注销服务器。 它实现了CAS 1.0、2.0和3.0协议,包括一些可选功能。 是单点登录和单注销Web协议,允许用户在一次提供凭据后访问多个应用程序。 它利用安全票证,由服务器生成和...
选择适用于Django的CAS客户端库`django-cas-ng`,使用命令`pip install django-cas-ng`安装。 **步骤二:配置CAS Client** - **添加应用**:在`settings.py`的`INSTALLED_APPS`中添加`'django_cas_ng'`。 - **配置...
在Python和Django的开发环境中,`django_cas_dev_server`可以帮助开发者快速搭建测试环境,模拟CAS服务器的行为,测试用户的认证流程。这对于需要集成CAS认证的项目尤其有用,因为它允许在没有真实CAS服务器的情况下...
它允许您在添加对CAS的支持的同时使用Django的内置身份验证机制和用户模型。 它还包括一个中间件,该中间件拦截对原始登录和注销页面的调用,并将其转发到CASified版本,并将CAS支持添加到管理界面。 安装 运行...