认证机制 ==================== 在软件系统中,有几种主流的认证机制。以下是其中一些常见的认证方式: * 用户名和密码认证: 用户提供唯一的用户名和相应的密码进行验证。 * 多因素认证(MFA): 使用两个或多个独立的身份验证因素,例如密码、短信验证码、指纹等。 * 令牌认证: 用户获得一个令牌(Token),该令牌通常有时限,用于身份验证。 * OAuth: 用于授权第三方应用程序访问用户的资源,而无需共享用户凭据。 * OpenID Connect: 一个建立在OAuth 2.0之上的身份认证协议,允许客户端验证终端用户及获取关于终端用户的信息。 * SAML(Security Assertion Markup Language): 一种基于XML的标准,用于在网络中传递身份和认证信息。 * JWT(JSON Web Token): 一种轻量级的身份验证和授权协议,以JSON对象的形式传递信息。 * LDAP(Lightweight Directory Access Protocol): 一种用于访问和维护分布式目录信息服务的协议,常用于身份验证和授权。 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