url重定向

CAS实现单点登录

匿名 (未验证) 提交于 2019-12-02 21:53:52
1.简介 SSO (Single Sign On)单点登录 :在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 新浪微博与新浪博客是相互信任的应用系统. * 当用户首次访问新浪微博时,认证中心识别到用户未登录,将请求重定向到登录页. * 当用户已登录再访问新浪博客时,认证中心识别到用户已登录,返回用户的身份,此时用户无需登录即可使用新浪博客. CAS CAS包含CAS Client 和 CAS Server. CAS Client:要使用单点登录的Web应用, 将与同组下的Web应用构成相互信任的关系,只需在web应用中添加CAS提供的Listener和Filter即可成为CAS Client ,其主要负责对客户端的请求进行重定向和校验ticket工作. CAS Server:主要负责对用户的用户名/密码进行认证, 颁发票据等, 需要单独的进行部署. * 同组下的任意一个Web应用登录后其他应用都不需要登录即可使用. 2.CAS服务器搭建 2.1 ȥ CAS官网下载 CAS源码包 将下载的源码包中的cas-server-webapp工程导入ide中,将工程导出为war包,直接放入tomcat下的webapp中运行. * CAS 5.0版本以上需要jdk1.8和gradle进行构建、4.X版本使用maven进行构建(maven 3.3+) 2.2

第十六章:集成的子框架 django.contrib

元气小坏坏 提交于 2019-12-02 19:42:13
第十六章:集成的子框架 django.contrib Python有众多优点,其中之一就是“开机即用”原则: 安装Python的同时会安装好大量的标准软件包,这样 你可以立即使用而不用自己去下载。 Django也遵循这个原则,它同样包含了自己的标准库。 这一章就来讲 这些集成的子框架。 Django标准库 Django的标准库存放在 django.contrib 包中。每个子包都是一个独立的附加功能包。 这些子包一般是互相独立的,不过有些 django.contrib 子包需要依赖其他子包。 在 django.contrib 中对函数的类型并没有强制要求 。其中一些包中带有模型(因此需要你在数据库中安装对应的数据表),但其它一些由独立的中间件及模板标签组成。 django.contrib 开发包共有的特性是: 就算你将整个 django.contrib 开发包删除,你依然可以使用 Django 的基础功能而不会遇到任何问题。 当 Django 开发者向框架增加新功能的时,他们会严格根据这一原则来决定是否把新功能放入 django.contrib 中。 django.contrib 由以下开发包组成: admin : 自动化的站点管理工具。 请查看第6章。 admindocs :为Django admin站点提供自动文档。 本书没有介绍这方面的知识;详情请参阅Django官方文档。

[Flask] Flask问题集

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 16:44:28
1.redirect和render_template的区别? redirect:重定向,会改变url render_template:模板渲染,用模板来渲染当前页,不会改变url 来源: https://www.cnblogs.com/remly/p/11755489.html

Django框架之视图层

不羁的心 提交于 2019-12-02 07:01:50
目录 一、视图函数 二、请求对象(HttpRequest) 2.1 请求对象的常用属性 三、HttpResponse(响应对象) 3.1 HttpResponse() 响应字符串 3.2 render() 响应html页面 3.3 redirect() 重定向 3.4 重定向状态码301与302的区别(了解) 四、JsonResponse(返回json字符串) 方式一:通过json模块 方式二:通过JsonResponse对象 4.1 补充小例子:如何手动实现python中Json任意格式徐磊话 五、form表单上传文件 5.1 上传文件的两种方式 六、FBV和CBV 6.1 实现CBV的方法 6.2 分析CBV的执行流程 一、视图函数 视图函数,简称视图,属于Django的视图层,默认定义在views.py文件中。 是用来处理web请求信息以及返回响应信息的函数,所以研究视图函数只需要掌握两个对象即可。 请求对象(HttpRequest) 响应对象(HttpResponse) 二、请求对象(HttpRequest) Django将http协议请求数据报中的请求头、请求首行、\r\n、请求内容主体封装到了HttpRequest对象中 (类似于我们自定义web框架的env参数)。 Django会将HttpRequest 对象当作参数传给视图函数的第一个参数request

二级目录301重定向到二级域名的两种方法

跟風遠走 提交于 2019-12-02 04:16:29
一般在网站权重还不足够高时,要建子站的话,都是放在二级目录里面。比如SEO朋友喜欢在二级目录建博客或论坛,好处是可以继承主站的权重。当网站足够强大了,就可以放到二级域名或者其他新域名。 对于搜索引擎来说,二级域名就是新域名,以一个新的站点来看待。如何保证转移后有效继承原来的权重不被降权?最好的办法就是做301。下面具体介绍二级目录301重定向到二级域名的两种方法: 一、.htaccess 文件代码法 这种方法只合适apache服务器,支持rewrite伪静态。直接在.htaccess 文件中增加这样一段规则: 复制代码 代码如下: RewriteEngine On RewriteBase / Redirect permanent /你的目录地址 http://bbs.dananjie.com/ 规则注释:当访问(/你的目录地址)原程序子目录的时候,自动重定向到你的二级域名http://bbs.dananjie.com/,或者另外的新域名(请把域名网址修改成自己的)。 二、PHP文件代码法 编写301.inc.php文件 在网站根目录新建一个 301.inc.php 文件,写入以下代码: 复制代码 代码如下: <?php $the_host = $_SERVER['HTTP_HOST']; //取得当前访问域名 $url = $_SERVER['PHP_SELF']; /

关于http301与302的技术讨论

一笑奈何 提交于 2019-12-01 12:14:35
@浪迹天涯 301转向:是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。 302重定向又称之为302代表暂时性转移(Temporarily Moved ), 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服务器端的重定向,能够被搜索引擎蜘蛛正确地处理。 301重定向与302重定向的区别在于302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。 301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。 @张洪保 301的含义是“永久重定向”,而302的含义是“临时重定向” 301 代表永久性转移是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。 由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。也就是说,一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因,

Nginx错误页面重定向

天涯浪子 提交于 2019-12-01 08:25:18
Nginx至少存在两种不同的配置来指定错误页面: 使用try_files配置项。 使用error_page配置项。 先介绍使用try_files配置项的情况。 Nginx提供的try_files配置允许在一个location中指定多个潜在的可能的响应页面,Nginx将按照定义的次序依次尝试访问这些响应页面,直到成功访问该页面。根据这个机制,可以在try_files配置的页面列表的最后面加上一个页面作为默认的错误页面。 配置内容: location /abc { root html; try_files $uri /404.html; } 运行结果: 当请求存在的页面时,将正常访问该页面。当访问到不存在的页面时,将跳转到/404.html页面,此时浏览器地址栏URL没变化,但是状态码不再是404,而是200。 再介绍使用error_page配置项指定错误页面的情况。 error_page配置项存在以下多种重定向方式,Nginx做了不同的处理,实际访问到页面也存在一定的差异,而浏览器的地址栏的表现也存在不同。 下面分别讨论在各种不同重定向方式下,访问同一个URL,而这个URL对应的原始页面不存在的情况下,Nginx的处理方式以及浏览器的表现。 试验过程中,浏览器中输入的原始URL都是:http://ng.coe2coe.me:8000/abc/2.txt 这个URL对应的页面并不存在

SpringMVC框架之第三篇

百般思念 提交于 2019-12-01 07:20:14
2.高级参数绑定(重点) 2.1.数组类型 数组类型的参数可以传递一批相同的数据到Controller的方法中。 2.1.1.需求 批量删除:在商品列表页面选中多个商品,然后删除。 2.1.2.需求分析 此功能要求商品列表页面中的每个商品前有一个checkbook,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品id删除商品信息。 功能分解 前端:1)能选中多个商品;2)能提交选中的多个商品 后端:1)能接收到选中商品的id;2)进行删除处理 2.1.3.演示代码 1.Jsp 可以重新创建一个专门演示批量删除的画面【itemListDelBatch.jsp】,利用原来的itemList.jsp拷贝一个,然后在表格的最前面增加一列checkbox。 【itemListDelBatch.jsp】 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!DOCTYPE html

springmvc中重定向该如何处理?

蹲街弑〆低调 提交于 2019-12-01 06:56:39
如果登录成功,会重定向到系统首页 response.sendRedirect("jsp/frame.jsp"); 在springmvc中,应该如何处理?是否可以直接使用 return "frame"; 来进行页面的重定向? 一般情况下,控制器方法返回的字符串会被当成逻辑视图吗处理,这仅仅是惊醒服务端的页面跳转而已,并非客户端重新发送新的url请求, 若想进行重定向操作,就需要加入 redirect: 前缀 ,springmvc将对它进行特殊处理,将 redirect: 当作指示符,其后的字符串作为url处理。如下 @RequestMapping(value = "/dologin.html", method = RequestMethod.POST) public String doLogin(@RequestParam String userCode, @RequestParam String userPassword){ //省略 return "redirect:/user/main.html"; //response.sendRedirect("jsp/frame.jsp"); } 来源: https://www.cnblogs.com/yanguobin/p/11665146.html

浅谈Web开发中forward与redirect的区别

北慕城南 提交于 2019-11-30 18:55:36
Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。直接转发就是由控制器来控制请求应该转发给那个信息资源。然后由这些信息资源处理请求,处理完以后还可能转发给另外的信息资源来返回给用户,这个过程就是经典的MVC模式;而间接转发有时也叫做重定向,它一般用于避免用户的非正常访问。区别在于: 1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器。浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址。 redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址。所以地址栏显示的是新的URL。 2.从数据共享来说 forward:转发页面和转发到的页面可以共享request里面的数据。 redirect:不能共享数据。 3.从运用地方来说 forward:一般用于用户登陆的时候,根据角色转发到相应的模块。 redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等。 4.从效率来说 forward:高。 redirect:低。 关于两者的本质区别,有以下几种解释: 解释一   一句话,转发是服务器行为,重定向是客户端行为。为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求——web服务器接受此请求