首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django 集成 CAS 实现 SSO 单点登陆

后端发现该请求未登陆,则返回前端 302 ,并 重定向 CAS 服务器登录页面,并携带当前用户访问网页链接 在CAS 服务器上,用户填写登录信息,浏览器发送请求 CAS 服务器进行认证 CAS...验证通过,则创建该用户给登陆成功 session 数据;反之,返回 前端 302, 重定向至 CAS 登陆面。 APP 服务验证 ST 通过之后,返回 前端 登陆面的 页面内容。...登陆面 http://127.0.0.1:8000/login ? image-20200914135857849 在登陆面,我提供了填写用户、密码以及验证码,然后点击登录按钮功能。...image-20200914162641249 2.访问 http://127.0.0.1:8000/cas/logout 退出登陆状态 访问之后,自动重定向登录状态: ?...image-20200914165737365 4.在项目的登陆视图,增加用户登陆状态判断,如果已登陆,则直接重定向至首页 ?

4.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

Django学习-第十一讲(下):视图高级(一)网页请求限制、HttpRequest、HttpResponse、JsonResponse对象

2.POST请求: POST请求一般是用来向服务器提交数据,会对服务器状态进行更改。比如提交一篇文章给服务器。 2. 限制请求装饰器 Django内置视图装饰器可以给视图提供一些限制。...以下将介绍一些常用内置视图装饰器 1.django.views.decorators.http.require_http_methods: 这个装饰器需要传递一个允许访问方法列表 from django.views.decorators.http...比如用户访问了一个需要权限页面,但是该用户当前并没有登录,因此我们应该给他重定向登录页面。...永久性重定向: http状态码是301,多用于旧网址被废弃了要转到一个新网址确保用户访问,最经典就是京东网站,你输入www.jingdong.com时候,会被重定向www.jd.com,因为...暂时性重定向: http状态码是302,表示页面的暂时性跳转。比如访问一个需要权限网址,如果当前用户没有登录,应该重定向登录页面,这种情况下,应该用暂时性重定向

1.1K20

django基础高手知识笔记总结 共4大模块50md文档 第2章:django视图和模板使用

18647 字----工程搭建学习目标掌握虚拟环境使用掌握Django项目和应用创建掌握Django项目的运行掌握Django视图和模板初步使用视图模板初步使用Django视图同Flask框架一样...Django视图也就是一个函数,可称为 视 图函数视 图 定义在应用 views.py 文件中视 图 需要绑定一个URL地址(路由),才能被django框架找到并调用执行一、视图初步使用需求: 编写视图并配置...django")关于视图说明:关于视图【理解】视 图不是由开发者主动调用,而是由 Django 框架调用当Django接收到请求时,会进行URL正则匹配,调用对应视图调用视图时,Django会把请求信息封装为一个...HttpRequest 对象,并作为视图第一个参数传入关于视图参数视 图第一个参数必须定义,名字可自定义,但习惯命名为 request,类型为HttpRequest缺少了该参数,Django在调用视图时...DEBUG=False 工作在生产模式时,Django不再对外提供静态文件路由配置学习目标掌握Django中URL配置掌握Django URL匹配流程掌握URL路径中请求参数未完待续 下一下一章完整笔记请看文章开头

15910

【Python全栈100天学习笔记】Day47 Django中间件使用

在上一个章节中,我们在用户登录成功后通过session保留了用户信息,接下来我们可以应用做一些调整,要求在为老师投票时必须要先登录登录用户可以投票,否则就将用户引导登录页面,为此我们可以这样修改视图函数...- 基础设置中间件,可以处理以下一些配置参数。...- 免除重定向HTTPS SessionMiddleware - 会话中间件。...backurl = request.get_full_path() # 非Ajax请求直接重定向登录 return redirect...当然,在这个过程中,用户请求可以被拦截,就像上面我们自定义中间件那样,如果用户在没有登录情况下访问了受保护资源,中间件会将请求直接重定向登录,后面的中间件和视图函数将不再执行。

71220

Python开发网站完整指南

上面的代码定义了一个视图函数index,当用户访问该视图时,会返回一条简单“Hello, world!”消息。 使用Django框架,我们可以轻松地建立数据库和表。...,并将它们复制STATIC_ROOT设置中指定目录中。...四、安全和认证 Web应用程序应该是安全。Python提供了一些内置安全功能,如密码散列和CSRF防护等。...如果用户登录Django会将其重定向登录页面。当登录成功后,用户将重定向回原始profile视图,并将包含用户身份信息上下文传递模板。...五、部署 最后,我们需要将我们Web应用程序部署服务器上。Python为我们提供了这样工具: 使用虚拟环境,以避免各种版本包冲突。

68220

Django开发快速入门

(library) $ python manage.py runserver 导航http://127.0.0.1:8000/admin并登录。 ?...image-20200916020819935 您将被重定向管理员主页。 ? image-20200916020903737 单击书籍链接。 ?...单击“保存”按钮后,我们将重定向列出所有当前条目的“书籍”页面。 ? image-20200916021124065 我们传统Django项目现在有数据,但是我们需要一种将其公开为网页方法。...如果用户转到/ admin /,他们将被重定向admin应用。 我们在图书应用路由中使用空字符串'',这意味着首页上用户将直接重定向图书应用。...Django工作方式,现在,当用户转到我们网站主页时,他们将首先点击library_project / urls.py文件,然后将其重定向使用BookListView指定books / urls.py

2.3K41

django 1.8 官方文档翻译:13-1-2 使用Django认证系统

限制访问给登陆后用户 原始方法 限制页面访问简单、原始方法是检查request.user.is_authenticated()并重定向一个登陆面: from django.conf import...例如,视图检查用户邮件属于特定地址(例如@example.com),若不是,则重定向登录页面。...把它设置为 None 来把它从 URL 中移除,当你想把通不过检查用户重定向没有next page 登录页面时。...如果提供了 raise_exception 参数,装饰器抛出PermissionDenied异常,使用 the 403 (HTTP Forbidden) 视图而不是重定向登录页面。...如果通过POST调用并带有用户提交凭证,它会尝试登入该用户。如果登入成功,该视图重定向next中指定URL。

4.6K20

通过 Django Pagination 实现简单分页

# 查询第二上一页码 >>> page2.previous_page_number() 1 查看某一是否还有下一,以及查询该页下一页码: # 查询第二是否还有下一 >>> page2...另外还要注意一点,请求哪一个页面通过 page 查询参数传递给 django 视图django 会根据 page 值返回对应页面的文章列表,所以上一下一超链接 href 属性指向 url...进一步拓展 使用 Django 内置 Pagination 只能实现上面的简单分页效果,但通常更加高级分页效果应该像下图这样: 当前页面高亮显示,且显示当前页面前后几页页码,始终显示第一和最后一页码...,中间可能还有省略号效果,表示还有显示页码。...仅仅使用 Django Pagination 内置方法无法实现这样效果,需要自己写分页逻辑或者借助第三方库。

90420

Django Pagination 简单分页

当博客上发布文章越来越多时,通常需要进行分页显示,以免所有的文章都堆积在一个页面,影响用户体验。Django 内置 Pagination 能够帮助我们实现简单分页功能。...Paginator 类常用方法 分页功能由 Django 内置 Paginator 类提供。...image.png 这里,Django 官方文档中给出了一个在视图函数中对列表进行分页示例,这个视图函数获取一个联系人列表并对其分页: from django.core.paginator import...始终显示第一和最后一页码,中间可能还有省略号效果,表示还有显示页码。...仅仅使用 Django Pagination 内置方法无法实现这样效果,需要我们写一些额外代码来拓展 Pagination 功能。

2.1K50

Django视图

一、视图函数   一个视图函数,简称视图,是一个简单python函数,接收web请求并返回web响应。响应可以是一张网页HTML内容,一个重定向,一个404错误等。...HTTP_USER_AGENT —— 客户端user-agent 字符串。 QUERY_STRING —— 单个字符串形式查询字符串(解析过形式)。...如果用户当前没有登录,user 将设置为 django.contrib.auth.models.AnonymousUser 一个实例。...类实现了django.contrib.auth.models.User 接口,但具有下面几个不同点: id 永远为None。...这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404面错误信息,访问流量白白丧失;再者某些注册了多个域名 网站,也需要通过重定向让访问这些域名用户自动跳转到主站点等

1.7K10

使用 Django Pagination 实现简单分页功能

当网页上显示数据过多时,通常需要进行分页显示。Django 内置 Pagination 能够帮助我们实现简单分页功能。...Paginator 类常用方法 分页功能由 Django 内置 Paginator 类提供。...在模板中设置分页导航 接下来便是在模板中设置分页导航,比如上一下一按钮,以及显示一些页面信息。我们这里设置和 Django 官方博客那样分页导航样式(具体样式见上图)。...始终显示第一和最后一页码,中间可能还有省略号效果,表示还有显示页码。...仅仅使用 Django Pagination 内置方法无法实现这样效果,需要我们写一些额外代码来拓展 Pagination 功能。

1.9K90

Django学习-第二讲 DjangoURL与视图

比如这个请求是添加一篇博客,那么可以通过request来接收到这些数据,然后存储数据库中,最后再把执行结果返回给浏览器。视图函数返回结果必须是HttpResponseBase对象或者子类对象。...视图写完后,要与URL进行映射,也即用户在浏览器中输入什么url时候可以请求这个视图函数。在用户输入了某个url,请求到我们网站时候,django会从项目的urls.py文件中寻找对应视图。...from django.urls import converters 内置转换器原理就是使用正则表达式,包含了以下几种: path str 默认 int slug uuid 使用方法: path...,使用 redirect方法进行url重定向 # urls中指定了urlname,此时地址栏中登录不管是什么可以随便变 # 我们只需要通过reverse将其对应url...,使用 redirect方法进行url重定向 #urls中指定了urlname,此时地址栏中登录不管是什么可以随便变 #我们只需要通过reverse将其对应url进行反转即可

1.1K10

Django中六个常用自定义装饰器

使用它只用一句代码就可以检查用户是否通过身份验证,并将登录用户重定向登录url。...每次用户试图访问 my_view 时,都会进入 login_required 中代码。 Django装饰器 下面介绍一些个人认为比较有用,或者是之前使用过具有积极效果装饰器。...事先声明,如要实现同样业务场景,并不是只有本文中方法。Django可以实现各种各样装饰器,这完全根据您需要进行定制。 Group Required 有时需要保护一些视图,只允许某些用户组访问。...Anonymous required 这个装饰器是参考Django自带 login_required 装饰器,但是功能是相反情况,即用户必须是登录,否则用户将被重定向 settings.py...当我们想要已登录用户不允许进入某些视图(比如登录)时,非常有用。

1.2K40

小白学Python – Django Web 开发教程一

Python Django 是一个 Web 框架,可以快速创建高效网页。Django 也被称为包含电池框架,因为它提供了内置功能,例如 Django 管理界面、默认数据库 – SQLite3 等。...当您构建网站时,您总是需要一组类似的组件:一种处理用户身份验证方法(注册、登录、注销)、网站管理面板、表单、上传文件方式等。Django 为您提供了现成组件可供使用。...简单项目结构足以创建一个单应用程序。以下是主要文件及其说明。...它具有管理页面等内置功能,这减少了从头开始构建相同功能工作量 Django 为用户提供了一些预装应用程序。要查看预安装应用程序,请导航至项目名称 –> 项目名称 –> settings.py。...该响应可以是网页 HTML 内容、重定向、404 错误、XML 文档、图像、Web 浏览器可以显示任何内容。

21020

Django 2.1.7 使用内置messages显示通知消息

为此,Django为匿名和经过身份验证用户提供对基于cookie和session存储数据消息传递框架。该消息框架允许将消息临时存储在一个请求中并检索它们以便在后续请求(通常是下一个请求)中显示。...这个消息框架数据传递方式基本就是我上一篇Django 2.1.7 redirect重定向数据传输问题 中使用session参数传递方式。...'django.contrib.messages', # django 内置消息传递应用 ) 中间件MIDDLEWARE需要包含 'django.contrib.sessions.middleware.SessionMiddleware...还可以使用以下快捷方法来添加具有常用标记消息(通常表示为消息HTML类): messages.debug(request, '%s SQL statements were executed.' %...get_messages() 将返回已配置存储后端实例。 消息使用示例 在视图A发出一个messages消息记录,然后在视图B显示一次消息内容。

1.6K10

Django 视图

响应可以是一张网页HTML内容,一个重定向,404错误等如何东西,但是,无论视图本身是个什么处理逻辑,最好都返回某种响应。...它就是视图函数,每个视图函数都使用HttpRequest对象作为第一个参数,并且通常称为request。注意,视图函数名称并不重要;不需要用一个统一命名方式来命名,以便让Django识别它....如果用户当前没有登录,user 将设置为 django.contrib.auth.models.AnonymousUser 一个实例。...类实现了django.contrib.auth.models.User 接口,但具有下面几个不同点: id 永远为None。...如应用需要把.php改成.Html或.shtml) 这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404面错误信息,访问流量白白丧失;再者某些注册了多个域名网站

1.7K20
领券