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实现同步登录
相关推荐
django-cas-ng, Django ( 中央身份验证服务) 客户端 Django CAS django-cas-ng 是中央认证服务( CAS ) 客户端实现。 这里项目继承自 django-cas ( 自从 2013年04月 之后还没有更新过) 。 NG代表"下一代"。 我们的...
为支持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 ...
为支持django3对django_cas_server进行修改,CAS_SQL_PASSWORD_CHECK 默认值 ldap
python3接入单点登录必备包
django-mama-cas, Django 中央身份验证服务( CAS ) 单点登录(Single Sign-On) 服务器 MamaCAS MamaCAS是 Django 中央认证服务( CAS ) 单一登录和单一注销服务器。 它实现了 CAS 1.0.2.0和 3.0协议,包括一些可选的...
基于django的单点登录系统实现机制当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校正,如果通过校正,应该返回给用户一个认证的分数...
CAS单点登录主要是为了解决主系统和子系统的统一登录问题,能够做到任意一个子系统登录成功后,再登录其他子系统后不再需要认证,让用户不用重复地进行登录认证。CAS单点登录的方案很多,并且大多数都是采用session...
python库,解压后可用。 资源全名:django_cas_server-0.6.2-py2.py3-none-any.whl
CAS服务器 CAS Server是实现的Django应用程序。 默认情况下,身份验证过程使用django内部用户,但您可以轻松使用任何源(请参阅auth.py...依存关系django-cas-server取决于以下python软件包: Django> = 1.11 <3.
django-cas-ng:Django CAS 1.02.03.0客户端身份验证库,支持Django 2.0、2.1、2.2、3.0和Python 3.5+
妈妈CAS MamaCAS是Django单一登录和单一注销服务器。 它实现了CAS 1.0、2.0和3.0协议,包括一些可选功能。 是单点登录和单注销Web协议,允许用户在一次提供凭据后访问多个应用程序。 它利用安全票证,由服务器生成和...
它允许您在添加对CAS的支持的同时使用Django的内置身份验证机制和用户模型。 它还包括一个中间件,该中间件拦截对原始登录和注销页面的调用,并将其转发到CASified版本,并将CAS支持添加到管理界面。 安装 运行...
当公司有多条产品线,或者有多个不同的应用的时候,每次都做登录是个非常烦人的事情。(原谅我没有从SSO的角度看这个问题。。对我来说能偷懒少写点东西最实在)。为什么需要每次都做个登录?做登录就意味着我的系统...
1.django项目放到了nginx容器中,采用的是nginx+uwsgi的方案。django访问端口5050。 nginx listen 8000端口,访问8000端口会转到5050 端口 2.nginx反向代理elasticsearch,elasticsearch的访问端口为9200,采用nginx...
资源分类:Python库 所属语言:Python 资源全名:django_flags-4.2.1-py2.py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
程序经过改动了,因为打开cas_server_url部分调不通,注意我将使用xml分析页面内容直接使用字符串查询是否存在admin代替,也就是说用户名限定为admin
资源来自pypi官网。 资源全名:django_cas_server-0.6.2-py2.py3-none-any.whl
资源来自pypi官网,解压后可用。 资源全名:django_cas_dev_server-0.1.2-py2.py3-none-any.whl