zoukankan      html  css  js  c++  java
  • Spring Security构建Rest服务-0100-前言

    一、我的前言

    这是看慕课网老师讲的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

  • 相关阅读:
    hdu3667 Transportation 费用与流量平方成正比的最小流 拆边法+最小费用最大流
    最小费用最大流模板
    poj3020 Antenna Placement 匈牙利算法求最小覆盖=最大匹配数(自身对应自身情况下要对半) 小圈圈圈点
    Risk UVA
    poj2391 Ombrophobic Bovines 拆点+二分法+最大流
    Taxi Cab Scheme UVALive
    Guardian of Decency UVALive
    Redis Server监控
    查看mysql二进制文件(binlog文件)
    mysql主从复制错误:A slave with the same server_uuid/server_id as this slave has connected to the master;
  • 原文地址:https://www.cnblogs.com/lihaoyang/p/8458231.html
Copyright © 2011-2022 走看看