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客户端相关推荐

  1. 四十七、python学习之Django框架(DRF框架三):Request与Response、视图与视图集、路由

    Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验.保存.转换数据); 控制数据库查询的执行 一.Request与Response: 1. Request:   ...

  2. Python学习笔记:集成开发环境

    文章目录 一.下载PyCharm-2020.1.1 二.下载jetbrains-agent-latest.zip 三.安装PyCharm-2020.1.1 四.启动PyCharm并注册 五.配置Pyc ...

  3. Python学习-day20 django进阶篇

    Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行 ...

  4. python学习04——字典

    文章目录 1. 字典的创建 2. 字典的元素查找 2.1 使用`[]` 2.2 使用`get()`函数 3. 字典的增删改操作 3.1 判断元素 3.2 增加元素 3.3 删除元素 3.3.1 删除某 ...

  5. 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] ...

  6. CAS认证登录,CAS客户端配置并对接多个不同服务端(spring boot)

    Spring Boot集成CAS客户端 本教程是通过访问url来进入登录界面. 需求: 我们开发平台有很多学校在使用,需要接入每个学校的统一认证CAS系统. 1.服务端设置授权域名或者IP 2.访问地 ...

  7. python学习第八天---用Django框架创建可重用注册登录系统

    python学习第八天---用Django框架创建可重用注册登录系统 实现的功能 项目开始前的整体规划 搭建环境完成基础配置 创建app 更改语言和时区 数据库表生成 启动开发服务器 浏览器访问,检测 ...

  8. CAS学习笔记五:SpringBoot自动/手动配置方式集成CAS单点登出

    本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成C ...

  9. 【python教程入门学习】Django应用开发框架的优点和缺点!!

    Python是2020年第三大最受欢迎的编程语言.它是一种功能强大的,动态的,语法简化的编程语言,用于高级Web应用程序开发和机器学习应用程序.而且,如果您了解Python,那么您可能听说过Djang ...

最新文章

  1. java安装了为什么运行不了_安装jdk后运行javac可以运行,为什么不能运行java?...
  2. 正则表达式:密码中至少包含大写字母、小写字母、数字、特殊字符等字符中的2种或3种
  3. 中国移动2016年Web应用防火墙集采:绿盟、深信服中标
  4. linux打包tar包命令,Linux压缩打包方法连载之一:tar命令
  5. 通过反射--操作运行时类中的指定的属性/方法
  6. matlab中ga函数用法,matlab遗传算法ga函数
  7. 接口的显式实现与隐式实现
  8. php 替换 超链接,php 替换字符串所有url为超链接,并给超链接添加nofollow的简单示例...
  9. struts启动过滤器异常_Spring 统一异常处理的方式
  10. 30个免费网页设计模板
  11. android接支付宝授权和支付功能
  12. 302号文--个人银行账户分类管理
  13. 中国自主潜航器AUV—潜龙号
  14. CommandNotFoundError: Your shell has not been properly configured to use ‘conda deactivate‘.
  15. Android学习日记(yzy):opengl 绘制2d图形 基本框架
  16. Vue3.0 directive的使用说明
  17. Ubuntu下面steam的安装
  18. 程序员必备的提升工作效率的方法
  19. Windows和UNIX系统调用的一些区别
  20. 第一节课的Python基础知识

热门文章

  1. Linux 杀死所有进程
  2. vue.js+vux项目总结
  3. 京东弹性数据库之BinLake订阅服务
  4. 五部委发文力推商品市场兼并重组 大力发展智慧物流
  5. 思维导图:基金投资入门与实战技巧
  6. AI Benchmark v4榜首风云:海思麒麟9000登上榜首
  7. 在现网中使用AAA 认证、授权、计费的详细教程
  8. C++ 1031 查验身份证
  9. LTE成长笔记--下行参考信号:小区特定参考信号
  10. 视频教程-5G物联网云平台智能家居项目30天搞定-物联网技术