10.1. 认证机制
在软件系统中,有几种主流的认证机制。以下是其中一些常见的认证方式:
用户名和密码认证: 用户提供唯一的用户名和相应的密码进行验证。
多因素认证(MFA): 使用两个或多个独立的身份验证因素,例如密码、短信验证码、指纹等。
令牌认证: 用户获得一个令牌(Token),该令牌通常有时限,用于身份验证。
OAuth: 用于授权第三方应用程序访问用户的资源,而无需共享用户凭据。
OpenID Connect: 一个建立在OAuth 2.0之上的身份认证协议,允许客户端验证终端用户及获取关于终端用户的信息。
SAML(Security Assertion Markup Language): 一种基于XML的标准,用于在网络中传递身份和认证信息。
JWT(JSON Web Token): 一种轻量级的身份验证和授权协议,以JSON对象的形式传递信息。
LDAP(Lightweight Directory Access Protocol): 一种用于访问和维护分布式目录信息服务的协议,常用于身份验证和授权。
10.1.1. spring security支持的认证机制
Username and Password - how to authenticate with a username/password
OAuth 2.0 Login - OAuth 2.0 Log In with OpenID Connect and non-standard OAuth 2.0 Login (i.e. GitHub)
SAML 2.0 Login - SAML 2.0 Log In
Central Authentication Server (CAS) - Central Authentication Server (CAS) Support
Remember Me - how to remember a user past session expiration
JAAS Authentication - authenticate with JAAS
Pre-Authentication Scenarios - authenticate with an external mechanism such as SiteMinder or Java EE security but still use Spring Security for authorization and protection against common exploits.
X509 Authentication - X509 Authentication