CAS 全称集中式认证服务(Central Authentication Service),是实现单点登录(SSO)的一中手段。
CAS 的通讯流程图如下(图片来自Google图库):
对于本文用户可感知的层面,认证过程如下:
前端访问后端登录接口
后端返回重定向到 CAS 服务器的登录页面,并携带当前用户访问的网页链接
用户登录,浏览器发送请求到 CAS 服务器进行认证
CAS 认证通过,将本次登录保存到会话,返回回调地址给后端
后端返回重定向请求给前端
前端重定向
最近由于要毕业了写论文做毕设,然后还在实习发现已经好久都没有写博客了。今天由于工作需求,需要用Django实现单用户登录。大概意思就是跟QQ一样的效果,每个账号只能一个地方登录使用,限制账号的登录次数。由于用的是Django自带的认证,然后校验用户是否登录其实就是通过Session实现的。下面就简单分享一下怎么实现的吧。
单用户登录实现
在做用户登录认证的时候Django自带的有is_authenticated()方法。下面就是一个简单的认证过程。
if request.user.is_au