python学习04--django集成CAS客户端
python学习04--django集成CAS客户端
- 前言
- 一、CAS客户端
- 1.新建一个Django项目,前面已讲,
- 2.安装依赖
- 3.配置Django_cas_ng,在settings文件中
- 4.创建一个views.py文件夹,并编写index的方法
- 5.urls.py文件
- 6.初始化
- 7.运行
- 后记
前言
可参考官方文档:django-cas-ng
一、CAS客户端
Python 有开源的 CAS 客户端 python-cas,直接选用封装好的 Django 应用 django-cas-ng 。
1.新建一个Django项目,前面已讲,
2.安装依赖
pip install django-cas-ng
3.配置Django_cas_ng,在settings文件中
配置INSTALLED_APPS,安装CAS应用
'django_cas_ng' #安装客户端应用
配置MIDDLEWARE,
MIDDLEWARE = ['django_cas_ng.middleware.CASMiddleware' #添加cas客户端的中间件类
]
配置AUTHENTICATION_BACKENDS,
# 指定授权认证的后端
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend','django_cas_ng.backends.CASBackend',
)
配置CAS服务器的URL和CAS协议版本
CAS_SERVER_URL = 'http://127.0.0.1:8443/cas'
CAS_VERSION = '3'
# 存入所有 CAS 服务端返回的 User 数据。
CAS_APPLY_ATTRIBUTES_TO_USER = True
4.创建一个views.py文件夹,并编写index的方法
from django.http import HttpResponsedef index(request):# 判断是否登录的 if request.user.is_authenticated: return HttpResponse('<p>Welcome to <a href="https://djangocas.dev">django-cas-ng</a>.</p><p>You logged in as <strong>%s</strong>.</p><p><a href="/accounts/logout">Logout</a></p>' % request.user)else:return HttpResponse('<p>Welcome to <a href="https://djangocas.dev">django-cas-ng</a>.</p><p><a href="/accounts/login">Login</a></p>')
5.urls.py文件
from django.contrib import admin
from django.urls import path
import django_cas_ng.views
from . import viewsurlpatterns = [path('', views.index, name='index'),path('admin/', admin.site.urls),path('accounts/login', django_cas_ng.views.LoginView.as_view(), name='cas_ng_login'),path('accounts/logout', django_cas_ng.views.LogoutView.as_view(), name='cas_ng_logout'),
]
6.初始化
python manage.py migrate
7.运行
python manage.py runserver
后记
由于后面改成了公司项目的cas服务器地址,html文件也改了些,跟代码不符合了,就没有放运行后的截图,不过按照流程还是可以的。
在views编写那里,曾尝试 用middlewares拦截器中间件,结果没有成功。还需要再更深入的学习django框架,了解一个完整的django项目,拿来练手了解CAS的登录流程还是可以的~
python学习04--django集成CAS客户端相关推荐
- 四十七、python学习之Django框架(DRF框架三):Request与Response、视图与视图集、路由
Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验.保存.转换数据); 控制数据库查询的执行 一.Request与Response: 1. Request: ...
- Python学习笔记:集成开发环境
文章目录 一.下载PyCharm-2020.1.1 二.下载jetbrains-agent-latest.zip 三.安装PyCharm-2020.1.1 四.启动PyCharm并注册 五.配置Pyc ...
- Python学习-day20 django进阶篇
Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...
- python学习04——字典
文章目录 1. 字典的创建 2. 字典的元素查找 2.1 使用`[]` 2.2 使用`get()`函数 3. 字典的增删改操作 3.1 判断元素 3.2 增加元素 3.3 删除元素 3.3.1 删除某 ...
- python学习04
数据类型-list,tuple 1) 1.1.list的表现方法:[1,2,3,4,5,6] 1.2.计算list的长度用 len() 1.3 list中的索引 a =[1,2,3,4,5] a[1] ...
- CAS认证登录,CAS客户端配置并对接多个不同服务端(spring boot)
Spring Boot集成CAS客户端 本教程是通过访问url来进入登录界面. 需求: 我们开发平台有很多学校在使用,需要接入每个学校的统一认证CAS系统. 1.服务端设置授权域名或者IP 2.访问地 ...
- python学习第八天---用Django框架创建可重用注册登录系统
python学习第八天---用Django框架创建可重用注册登录系统 实现的功能 项目开始前的整体规划 搭建环境完成基础配置 创建app 更改语言和时区 数据库表生成 启动开发服务器 浏览器访问,检测 ...
- CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出
本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...
- 【python教程入门学习】Django应用开发框架的优点和缺点!!
Python是2020年第三大最受欢迎的编程语言.它是一种功能强大的,动态的,语法简化的编程语言,用于高级Web应用程序开发和机器学习应用程序.而且,如果您了解Python,那么您可能听说过Djang ...
最新文章
- java安装了为什么运行不了_安装jdk后运行javac可以运行,为什么不能运行java?...
- 正则表达式:密码中至少包含大写字母、小写字母、数字、特殊字符等字符中的2种或3种
- 中国移动2016年Web应用防火墙集采:绿盟、深信服中标
- linux打包tar包命令,Linux压缩打包方法连载之一:tar命令
- 通过反射--操作运行时类中的指定的属性/方法
- matlab中ga函数用法,matlab遗传算法ga函数
- 接口的显式实现与隐式实现
- php 替换 超链接,php 替换字符串所有url为超链接,并给超链接添加nofollow的简单示例...
- struts启动过滤器异常_Spring 统一异常处理的方式
- 30个免费网页设计模板
- android接支付宝授权和支付功能
- 302号文--个人银行账户分类管理
- 中国自主潜航器AUV—潜龙号
- CommandNotFoundError: Your shell has not been properly configured to use ‘conda deactivate‘.
- Android学习日记(yzy):opengl 绘制2d图形 基本框架
- Vue3.0 directive的使用说明
- Ubuntu下面steam的安装
- 程序员必备的提升工作效率的方法
- Windows和UNIX系统调用的一些区别
- 第一节课的Python基础知识