当前位置: 首页 > news >正文

门户网站建设情况自查报告必要 网站

门户网站建设情况自查报告,必要 网站,建设网站的功能定位是什么原因,电脑自带的做网站叫什么软件一.简介 这篇文章来学习下security的认证方式其中的HTTP基本认证。 二.Spring Security的认证方式 2.1什么是认证 认证: 就是用来判断系统中是否存在某用户#xff0c;并判断该用户的身份是否合法的过程#xff0c;解决的其实是用户登录的问题。认证的存在#xff0c;是…一.简介 这篇文章来学习下security的认证方式其中的HTTP基本认证。 二.Spring Security的认证方式 2.1什么是认证 认证: 就是用来判断系统中是否存在某用户并判断该用户的身份是否合法的过程解决的其实是用户登录的问题。认证的存在是为了保护系统中的隐私数据与资源只有合法的用户才可以访问系统中的资源。 2.2认证的方式 在Spring Security中常见的认证方式可以分为HTTP层面和表单层面常见的认证方式如下: HTTP基本认证Form表单认证HTTP摘要认证 这篇文章先讲HTTP基本认证 三. HTTP基本认证 3.1HTTP基本认证概念 在Spring Security 4.x版本中默认采用的登录方式是Http基本认证该方式会弹出一个对话框要求用户输入用户名和密码。在每次进行基本认证请求时都会在Authorization请求头中利用Base64对 “用户:密码” 字符串进行编码。这种方式并不安全并不适合在Web项目中使用但它是一些现代主流认证的基础而且在Spring Security的OAuth中内部认证的默认方式就是用的Http基本认证。 3.2HTTP基本认证核心API 在基本认证时系统中所涉及到的各种核心API及其执行流程在这篇文章中我们先对这些有基本了解即可。 简单的执行流程如下: Filter-构造Token-AuthenticationManager-转给Provider处理-认证处理成功后续操作或者不通过抛异常3.3HTTP基本认证步骤(重点) HTTP基本认证是在RFC2616标准中定义的一种认证模式它以一种很简单的方式与用户进行交互。HTTP基本认证可以分为如下4个步骤 客户端首先发起一个未携带认证信息的请求然后服务器端返回一个401 Unauthorized的响应信息并在WWW-Authentication头部中说明认证形式当进行HTTP基本认证时WWW-Authentication会被设置为Basic realm“被保护的页面”接下来客户端会收到这个401 Unauthorized响应信息并弹出一个对话框询问用户名和密码。当用户输入后客户端会将用户名和密码使用冒号进行拼接并用Base64编码然后将其放入到请求的Authorization头部并发送给服务器最后服务器端对客户端发来的信息进行解码得到用户名和密码并对该信息进行校验判断是否正确最终给客户端返回响应内容。 3.4HTTP基本认证的弊端 HTTP基本认证是一种无状态的认证方式与表单认证相比HTTP基本认证是一种基于HTTP层面的认证方式无法携带Session信息也就无法实现Remember-Me功能。另外用户名和密码在传递时仅做了一次简单的Base64编码几乎等同于以明文传输极易被进行密码窃听和重放攻击。所以在实际开发中很少会使用这种认证方式来进行安全校验。 接下来就用代码来实现下HTTP基本认证的功能。 四. 创建SpringSecurity项目 参考之前的文章这边不做叙述。 五.代码实现 5.1创建SecurityConfig配置类 创建SecurityConfig类继承自WebSecurityConfigurerAdapter父类代码如下: import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter {Overrideprotected void configure(HttpSecurity http) throws Exception {//1.配置基本认证方式http.authorizeRequests()//对任意请求都进行认证.anyRequest().authenticated().and()//开启basic认证.httpBasic();}}这段代码中httpBasic()方法就是用来开启基本认证的而且默认采用的就是基本认证 5.2创建web接口 HelloController类的代码如下 import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;RestController public class HelloController {GetMapping(/hello)public String hello() {return 德玛西亚;}}5.3yml配置文件 创建一个application.yml配置文件配置如下: spring:security:user:name: demaxiyapassword: 123四.功能验证 4.1启动项目 接着把项目启动起来打开浏览器及调试窗口然后访问/hello接口这时候就可以看到浏览器中弹出了一个登陆窗口截图如下 提示输入自己的用户名和密码认证成功后即可访问自己的web接口。 五. Basic认证详解 对上面的认证过程进行详细的分析。 5.1Basic Authorization 此时我们在自己的浏览器调试窗口中查看响应头可以看到WWW-Authenticate认证信息: WWW-AuthenticateBasic realm“Realm”截图如下: 5.1.1各响应信息含义如下 WWW-Authenticate: 表示服务器告知浏览器进行代理认证工作。Basic: 表示认证类型为Basic认证。realm“Realm”: 表示认证域名为Realm域。 5.1.2 realm的概念 realm“Realm”: 指认证域名为RealmHttpBasic默认的realm名为Realm。在未认证用户请求不同的接口时后台会根据分配给该接口的域响应不同的realm名称并且用不同的用户名/密码进行认证。所以用户每请求一个新的Realm的url都会弹框要求使用新的Realm的用户名/密码进行认证就好比不同的角色登录只能请求属于该角色的url。 5.2基本认证过程 此时的响应码为401如下图所示: 根据401和以上响应头信息浏览器会弹出一个对话框要求输入 用户名/密码Basic认证会将其拼接成 “用户名:密码” 格式中间是一个冒号并利用Base64编码成加密字符串xxx然后在请求头中附加 Authorization: Basic xxx 信息发送给后台认证后台需要利用Base64来进行解码xxx得到用户名和密码再校验 用户名:密码 信息。 如果认证错误浏览器会保持弹框如果认证成功浏览器会缓存有效的Base64编码在之后的请求中浏览器都会在请求头中添加该有效编码。 以上就是HTTP基本认证的内部执行过程。 5.3注销Basic认证 在成功认证之后Basic认证会把Authorization认证信息缓存在浏览器中一段时间之后每次请求接口时都会自动带上所以直到 用户关闭浏览器才会销毁认证信息也就是说我们无法在服务端进行有效的注销。 不过在请求注销时前端也可以手动 在请求头配置一个错误的Authorization或者在浏览器的命令行执行 document.execuCommand(“ClearAuthenticationCache”)方法 来清空认证信息但该方式对Chrome浏览器无效。我们在调试基本认证时可以直接开启无痕模式避免很多因为缓存造成的问题。
http://www.dnsts.com.cn/news/115611.html

相关文章:

  • 台州黄岩网站建设外包制作app软件要多少钱
  • 培训心得体会怎么写江门百度网站快速优化
  • 网站年龄和域名年龄网站活动页面
  • 网站建设腾讯云与阿里云wordpress采集商品
  • 盘龙网站建设二手网站信用体系建设
  • 牛网站页面设计说明怎么写
  • 文汇智能建站平台能进入危险网站的浏览器
  • 旅游网站建设的课题研究的主要内容动图制作网站
  • 访问中国建设银行网站专业网络推广方案
  • 成都网站设计策划免费手机网站快速建站
  • 浙江建设职业技术学院尔雅网站好用的免费网站
  • 淘宝优惠券网站怎么做做网站的素材
  • 买东西的网站都有哪些小说网站系统怎么做
  • 北京网站制作net2006wordpress无法下载
  • 学做网站需要学那些程序千库网素材免费下载官方
  • 怎么做网页的搜索功能北京seo服务
  • 建设公司网站需要注意什么武清区网站建设
  • 建设春秋龙卡信用卡网站海外网络推广专员招聘
  • 想找在家做的兼职 有什么网站吗正大建设集团股份有限公司网站
  • 免费做电子请帖的网站网站定制开发需要什么资质
  • 广州外贸建站网站建设的需求
  • 网上书城网站开发外文参考文献江西省建设监理网站
  • 北京故宫网站建设分析松江佘山网站建设
  • 软件项目管理课程设计seo排名优化网站
  • 免费数据源网站高新区做网站的公司
  • 企业网站域名备案流程成都 网站开发公司
  • 成都网站建设哪些公司好网站建设与制作教程北华大学
  • wordpress自定义站点苏州企业网站推广
  • 安国市住房和城乡建设局网站宁波h5建站
  • 权威发布的图片重庆seo网站策划