单点登录(,)就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是比较流行的。
中央认证服务(,),一种独立开放指令协议,是耶鲁大学发起的一个企业级开源项目,旨在为 Web 应用系统提供一种可靠的 SSO 解决方案。


那么对于 Flask,我们如何实现单点登录呢?此处提供一个开源的解决方案:Flask-CAS。在实际开发中,直接使用它的 API 可能无法满足我们的需求,这个时候就需要对源码进行一些修改。目前最新的版本是 1.0.2 版本。

:主要是一些配置和基本的函数。
:主要是生成一些 CAS 登录相关的 url 以及跳转的 url。
:项目的核心所在,主要包含了 登录、登出、验证 三个函数,这三个函数也是我们自定义时候重点修改的地方。
首先需要导入包。
使用方法一:
使用方法二:
CAS 类将添加两条路由 和 。也可以把一个路由前缀作为第二个参数传给 CAS 的构造方法或初始化方法。
路由会将用户重定向到 配置值指定的 CAS。如果登录成功,用户将被重定向到由 配置值指定的端点,登录用户的用户名也将被存储到由 指定的键的 session 中。如果属性可用,它们将被存储在 指定的键的 session 中。
路由会将用户重定向到 CAS 注销页面,用户名和属性将会从 session 中被删除。
下面给出一个实例:
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/3024.html