@x-power
2019-10-18T20:57:59.000000Z
字数 711
阅读 644
未分类
在此输入正文
oAuth2 是协议/标准。 这个协议因为其安全性和易用性得到了大家的认可, 然后作为一种标准。
Spring Security是技术, 是用来实现思想和标准的技术。 因为Spring有IoC可以通过CGLIB对所有类(除了final修饰的类,因为其通过继承实现控制反转)进行代理模式的设计, 因此特点所以有AOP(在Spring中AOP是依赖于IOC的)。因为Spring有Servlet过滤器(平时我们用的过滤器其拦截请求),IOC和AOP。所以实现oAuth2就有了现实基础。
在以来导入的时候可以看到Spring Security 是Spring的。 Shiro是Apache的。而且Spring Security在Spring Cloud的类目下,这就说明这个产品实际上偏向于为分布式提供服务的性质更多一点。
在微服务程序的开发中, 不同的服务是会在不同的机器上部署的,最少他们也不是运行在一个JVM上的,那这样的话我们是不是需要分别登录不同的服务?QQ农场偷个菜,登陆一下。QQ牧场养条狗也需要登录一下?
其实在前面我们已经有解决方案了, 就是借助Redis缓存去实现SSO。
假设你现在是马化腾, 我是小屌丝。 我的产品需要用一下你的三方登陆, 那么你会不会把你的用户的帐号密码给我呢? 并且接入之后,访问权限怎么控制,登录一个三方网站结果别人发现你的QQ里面有种子?
如果你修改了密码,那么是不是你授权的三方登陆都会失效呢?
密码知道的人越多出问题的可能性就越大。 CSDN还密文存储密码呢。。。