1、背景
今天看Securfity的源码,其中org.springframework.security.config.annotation.web.builders.HttpSecurity
类的UML看着很奇怪,如下图所示,命名其父类和父接口都实现过SecurityBuilder,为什么自己要再次实现呢?
2、探索
2022年1月3日大约 2 分钟
今天看Securfity的源码,其中org.springframework.security.config.annotation.web.builders.HttpSecurity
类的UML看着很奇怪,如下图所示,命名其父类和父接口都实现过SecurityBuilder,为什么自己要再次实现呢?
一个系统一般都会有用户角色权限相关的概念,用户需要登录系统并且拥有相应的权限后才能访问对应的资源。
也就是说,用户登录(认证)成功后,会获得此用户拥有的权限,用户在去访问资源时,系统会校验其拥有的权限是否可以访问这个资源。
SSO(SingleSignOn)的出现是为了解决多系统认证的问题的,这里特别强调一下,它是解决认证问题的。就是通过用户的一次性鉴别登录,当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。
该应用可以安装在你的 PC 或移动设备上。这将使该 Web 应用程序外观和行为与其他应用程序相同。它将在出现在应用程序列表中,并可以固定到主屏幕,开始菜单或任务栏。此 Web 应用程序还将能够与其他应用程序和你的操作系统安全地进行交互。