一、我的前言

这是看慕课网老师讲的SpringSecurity的学习笔记,老师讲的很好,开篇就说到了我的心里,老师说道:

有一定经验的程序员如何提升自己?

1,每天都很忙,但是感觉水平没有提升

2,不知道学什么,遇到复杂的业务场景时,又感觉技术储备不够

3,工作中写过很多代码,面试时候几句话就说完了。(说道了我心坎里!)

这背后的原因就是,知识点的深入程度不够。

自己不是很聪明,慢慢来,一步步学习一下!

这是一门讲应用安全方面的课程,安全涉及很多东西,最基础也是最重要的就是认证和授权。java业界比较流行的认证授权框架,一个是apache-shiro,是一个轻量级的安全框架,另一个就是Spring Security了,当下SpringBoot比较流行,而SpringBoot默认就是使用SpringSecurity框架的,所以有必要学一下!

说起认证和授权,表现形式就是登录,就像当初刚工作的想法,登录就是一个form表单,输入用户名密码,去数据库查有无用户信息,实际上,认证授权要复杂的多,当初的想法真是太幼稚了!

在此,我想通过学习这个课,一步步完善一个通用的认证授权框架。现在前端技术层出不穷,VUE、Angular,,,,,前后端分离模式下,现在都流行使用token做认证。就我现在工作的公司而言,及时前端vue是基于浏览器的,可以使用cookie-session做用户认证,但用户信息也存在了redis。这样有利于做集群啊,相当于用redis做session共享嘛。

通过学习这个框架,一可以熟悉下Springboot,二可以把工作中用到的一些东西集成进去,看慢慢能不能做成一个脚手架工程?用到的时候拿来即用

1-2企业级认证特性

实际上,企业级的认证和授权是很复杂的:

1,同时支持多种认证方式:

  除了用户名密码,还要支持手机短信、微信、qq等第三方登录。

2,同时支持多种前端渠道:

  如浏览器登录(有cookie)、app登录(没有cookie)是不一样的。

3,其他的:

  支持集群环境:集群里一台机器登录其他的怎么办

  跨应用工作:单点登录SSO

  Session控制:控制session的数量

  控制用户权限:

  防护与身份认证相关攻击

这些都是编写企业级认证模块需要考虑的问题和要实现的特性。本课程就是要实现一个可重用的企业级的认证和授权模块。

1-3企业级的认证和授权

涉及到三个spring项目:

1、Spring Security(核心):

  提供认证和授权底层机制的实现,开发用户名+密码、手机号+短信

2、 Spring Social:

  社交项目,将应用连接到社交网站,实现第三方认证如qq登录、微信登录

3、Spring Security OAuth:

  上边三种认证方式都是基于服务器Session的,登录成功后用户信息放在服务器Session里的,APP跟服务器通讯是没有Session的,采用token方式存储认证用户的信息,Spring Security OAuth就是创建、管理、分发token用的,最终的效果就是让用户名+密码,手机号+短信、第三方登录这三种认证方式可以同时支持浏览器里基于服务器Session的认证,也可以在手机APP里基于token方式认证

1-4:课程目标

接下来进入第二章

http://www.cnblogs.com/lihaoyang/p/8466647.html

转载于:https://www.cnblogs.com/lihaoyang/p/8458231.html

Spring Security构建Rest服务-0100-前言相关推荐

  1. Spring Security构建Rest服务-0702-短信验证码登录

    先来看下 Spring Security密码登录大概流程,模拟这个流程,开发短信登录流程 1,密码登录请求发送给过滤器 UsernamePasswordAuthenticationFilter 2,过 ...

  2. Spring Security构建Rest服务-1401-权限表达式

    Spring Security 的权限表达式 用法,在自定义的BrowserSecurityConfig extends WebSecurityConfigurerAdapter 配置文件里,每一个a ...

  3. Spring Security构建Rest服务-1400-授权

    安全分为 认证和授权,前边讲的都是认证,现在说授权. 前端业务系统的权限简单些,一般只区分是否登录,复杂点的还会区分 VIP用户等简单的角色,权限规则基本不变. 后台系统比较复杂,角色众多,权限随着业 ...

  4. Spring Security构建Rest服务-0600-SpringSecurity基本原理

    一.引入 只要引入了spring-boot-starter-security,所有的服务都会被保护起来.启动项目,打开时所有的controller会被保护起来,随便访问一个,如http://local ...

  5. Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)【Dalston版】

    前言 在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服 ...

  6. Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)【Dalston版】

    前言 在上一篇<Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)>中,我们已经体验了如何使用@HystrixCommand来为一个依赖资源定义服务降级逻辑.实 ...

  7. Spring Cloud构建微服务架构:服务容错保护(Hystrix断路器)【Dalston版】

    前言 在前两篇<Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)>和<Spring Cloud构建微服务架构:服务容错保护(Hystrix依赖隔离)&g ...

  8. Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)【Dalston版】 1

    前言 在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服 ...

  9. 将Spring Security OAuth2授权服务JWK与Consul 配置中心结合使用

    将Spring Security OAuth2授权服务JWK与Consul 配置中心结合使用 概述 在前文中介绍了OAuth2授权服务简单的实现密钥轮换,与其不同,本文将通过Consul实现我们的目的 ...

最新文章

  1. AprilTag程序的获取
  2. c++读取json文件_[SpringMVC]-SpringMVC架构-07-SpringMVC文件上传
  3. access2003安装包百度云_阿里云服务器安装JDK与配置环境详细步骤
  4. IdentityServer4系列 | 混合模式
  5. 第六章 相同的功能,不同的代码
  6. 怎么用源程序把ChemDraw结构复制到Word文档
  7. 前后端分离中的权限管理思路
  8. 1.8 编程基础之多维数组 04 错误探测 python
  9. 再谈.NET Micro Framework移植
  10. (转自YYW'S BLOG)IListT 转换成 DataSet
  11. 使用Delphi开发linux应用
  12. php 32位检签,php crc32 计算字符串的 32 位 CRC(循环冗余校验)
  13. PHP学习笔记【27】--服务端存储技术Session
  14. 2015年 教师全员远程培训挂机 教师远程全员培训挂机 教师继续教育挂机 挂机软件 全国通用版...
  15. SonarQube 持续集成代码质量管理
  16. 在Arduino上使用433MHz发送和接收模块
  17. 逍遥安卓模拟器卡android,逍遥模拟器不流畅解决方法 逍遥安卓模拟器怎么设置不卡...
  18. 第327场周赛6284. 使字符串总不同字符的数目相等
  19. 系统时间有误,造成网站无法登录故障处理
  20. 多任务-协程(01-迭代器)

热门文章

  1. __name__ == '__main__' 到底是什么意思
  2. 【放洋屁了】知识焦虑-几点感慨
  3. Docker搭建Nacos1.3+Seata1.4+MySQL8分布式事务(服务端)
  4. Gstreamer中一些gst-launch常用命令
  5. c# bindingsource mysql,Navicat for MySQL 使用教程:在.NET中如何连接MySQL数据库
  6. Java的不同版本:J2SE、J2EE、J2ME的区别
  7. 【译】Android中的安全数据— Android中的加密(第2部分)
  8. Android adb无线调试脚本
  9. Integer overflow, simple but not easy
  10. Android Telephony分析(三) ---- RILJ详解