python学习--django集成CAS服务器
前言
参考:75. Django 集成 CAS 实现 SSO 单点登陆
cas单点登录流程可参考:python 实现CAS服务器认证
要用到的命令
启动服务器
python manage.py runserver 127.0.0.1:3000
初始化项目
python manage.py migrate
升级pip命令
python -m pip install --upgrade pip
一、CAS服务端
1、利用pycharm创建一个Django项目cas_server
前面已经赘述如何创建一个django项目
2、测试启动下项目
python manage.py runserver
访问正常
3、安装django-mama-cas依赖
pip install django-mama-cas
4、配置settings,安装mama-cas应用
5、配置URL,设置访问CAS的路由
from django.contrib import admin
from django.urls import path
import include
urlpatterns = [
path('admin/', admin.site.urls),
path('cas/', include('mama_cas.urls')), # 导入mama_cas应用的urls.py
]
6、在settings中配置CAS回调
# 配置CAS
MAMA_CAS_SERVICES = [
{
# 必填项,客户端允许访问的域名
'SERVICE': 'http://127.0.0.1:8080',
# 回调模式,具体参考官方文档
'CALLBACKS': [
'mama_cas.callbacks.user_model_attributes',
],
},
]
7、初始化表
python manage.py migrate
8、启动cas_server服务(3000端口)
python manage.py runserver 127.0.0.1:3000
9、浏览器访问
http://127.0.0.1:3000/cas/login
用户名和密码填什么呢?
django-mama-cas 默认使用的是 django.auth 模块 User,使用 django-admin 创建超级用户,该用户也就可以用于登录 CAS :
python manage.py createsuperuser
跟着流程设计密码即可
后记
如果你没有CAS服务器来调试,django_mama_cas这个现成的django的CAS服务器,可以用来练手。