跳至主要內容
子类和父类(或者父接口)实现同一个接口

1、背景

今天看Securfity的源码,其中org.springframework.security.config.annotation.web.builders.HttpSecurity类的UML看着很奇怪,如下图所示,命名其父类和父接口都实现过SecurityBuilder,为什么自己要再次实现呢?

20230105160622

2、探索


ChenSino大约 2 分钟oauthsso
SSO协议

1、写在前面

一个系统一般都会有用户角色权限相关的概念,用户需要登录系统并且拥有相应的权限后才能访问对应的资源。

  • 认证(Authentication),即确认用户的身份,也就是上面说的要输入帐号密码登录
  • 授权(Authorization),即用户要访问某资源,必须要拥有对应权限

也就是说,用户登录(认证)成功后,会获得此用户拥有的权限,用户在去访问资源时,系统会校验其拥有的权限是否可以访问这个资源。

2、SSO和OAUTH2介绍

SSO(SingleSignOn)的出现是为了解决多系统认证的问题的,这里特别强调一下,它是解决认证问题的。就是通过用户的一次性鉴别登录,当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。


ChenSino大约 4 分钟oauthsso