云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

CAS单点登录(第7版)6.认证(cas单点退出)

jxf315 2025-03-14 18:12:50 教程文章 24 ℃

如有疑问,请看视频:CAS单点登录(第7版)_在线视频教程-CSDN程序员研修院

1. 认证

1.1. 概述

1.1.1. 配置

CAS 身份验证过程主要由身份验证管理器控制,该管理器编排一组身份验证处理程序。

1.1.2. 身份验证管理

CAS 附带了一个单一但灵活的身份验证管理器,该管理器根据以下协定执行身份验证。

对于任何给定的凭证,管理器将执行以下操作:

1. 迭代所有已配置的身份验证处理程序。

2. 如果处理程序支持凭证,则尝试对凭证进行身份验证。

3. 成功后,尝试解析主体。

4. 检查是否为验证凭证的处理程序配置了解析程序。

5. 如果找到合适的解析程序,请尝试解析委托人。

6. 如果未找到合适的解析程序,请使用身份验证处理程序解析的主体。

7. 检查是否满足安全策略(例如 any、all)。

8. 如果满足安全策略,则立即返回。

9. 如果不满足安全策略,请继续。

10. 尝试所有凭证后,再次检查安全策略,如果不满足,则抛AuthenticationException。

有一个隐式安全策略,它要求至少一个处理程序成功验证凭证。

1.1.3. 身份验证处理

CAS 支持多种身份验证处理程序和方法。使用菜单在站点中导航并选择。默认情况下,CAS 配置为接受通过 CAS 配置提供的一组预定义凭证。

默认凭证

要在 CAS 中测试默认身份验证方案,请分别使用 casuser 和 Mellon 作为用户名和密码。这些是通过静态身份验证处理程序自动配置的,并且必须在生产推出之前从配置中删除。

CAS 配置目录中提供了以下设置和属性:

l 必填

下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。

Show entries

搜索:


· cas.authn.accept.password-encoder.encoding-algorithm=

要使用的编码算法,例如 MD5。当使用的类型为 DEFAULT 或 GLIBC_CRYPT 时相关。当与 PasswordEncoderTypes#PBKDF2 一起使用时,它应该是 PBKDF2WithHmacSHA1、PBKDF2WithHmacSHA256 或 PBKDF2WithHmacSHA512 之一。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.accept.password-encoder.type=NONE

可以使用以下类型:

l NONE:不进行密码编码(即纯文本)。

l DEFAULT:使用 CAS 的 DefaultPasswordEncoder。对于通过 character-encoding 和 encoding-algorithm 的消息摘要算法。

l BCRYPT根据提供的强度和可选密钥使用 BCryptPasswordEncoder。

l SCRYPT使用 SCryptPasswordEncoder。

l PBKDF2:根据提供的强度和可选的密钥使用 Pbkdf2PasswordEncoder。

l STANDARD根据提供的密钥使用 StandardPasswordEncoder。

l SSHA使用 LdapShaPasswordEncoder 支持 Ldap SHA 和 SSHA (salted-SHA)。这些值采用 base-64 编码,并在编码的哈希前面加上标签 {SHA} 或 {SSHA}。

l GLIBC_CRYPT:根据编码encoding-algorithm、提供的强度和可选的密钥使用 GlibcCryptPasswordEncoder。

l org.example.MyEncoder:您自己选择的 PasswordEncoder 实现。

l
file:///path/to/script.groovy:负责处理密码编码操作的 Groovy 脚本的路径。

l org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.accept.password-policy.groovy.location=

在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:
org.apereo.cas.util.io.PathWatcherService。

org.apereo.cas.configuration.model.core.authentication.GroovyPasswordPolicyProperties.

如何配置此属性?

· cas.authn.accept.principal-transformation.groovy.location=

在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:
org.apereo.cas.util.io.PathWatcherService。

org.apereo.cas.configuration.model.core.authentication.GroovyPrincipalTransformationProperties.

如何配置此属性?

· cas.authn.accept.users=

接受用户进行身份验证,语法为 uid::password。

org.apereo.cas.configuration.model.support.generic.AcceptAuthenticationProperties.

如何配置此属性?

显示 1 到 5 个条目中的 5 个

上一页1下一页

l 自选

下面列出的配置设置在CAS配置元数据中标记为可选。此标志表明在最终用户CAS配置中不需要立即存在设置的存在,因为分配了默认值或功能的激活不受设置值的有条件控制。换句话说,如果您需要修改默认值或需要打开设置控制的功能,则仅应将此字段包括在配置中。

展示条目

搜索:


· cas.authn.accept.credential-criteria=

允许许多身份验证处理程序确定他们是否可以在提供的凭据上操作,并在身份验证处理程序选择阶段进行尝试和测试。凭证标准可能是以下选项之一:

1)针对凭证标识符测试的正则表达模式。

2)实现自己的设计的完全合格的班级名称Predicate。

3)通往实现相同接口的外部凹槽脚本的路径。

此设置支持正则表达方式。[?]。

org.apereo.cas.configuration.model.support.generic.AcceptAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.accept.enabled=true

是否启用认证策略。如果#users留空, 该策略也可能被显式禁用。

org.apereo.cas.configuration.model.support.generic.AcceptAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.accept.name=

身份验证处理程序的名称。

org.apereo.cas.configuration.model.support.generic.AcceptAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.accept.order=

链中身份验证处理程序的顺序。

org.apereo.cas.configuration.model.support.generic.AcceptAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.accept.password-encoder.character-encoding=UTF-8

要使用的编码算法,例如“UTF-8”。当使用的类型是 时相关DEFAULT。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

我该如何配置这个属性?

显示 25 条条目中的 1 至 5 条

以前的12345下一个

l Groovy 脚本

l 认证

l 密码编码

l 主体转换

l 密码策略

l 笔记

1.1.3.1. 执行器端点

CAS 提供以下端点:

GET

/cas/actuator/authenticationHandlers/{name}

按名称获取可用的身份验证处理程序。

GET

/cas/actuator/authenticationHandlers

1.1.3.2. 解决策略

有关更多信息,请参阅本指南。

1.1.3.3. 身份验证序列

在运行时,CAS 维护一组身份验证处理程序/策略,这些处理程序/策略通常一个接一个地执行。提供某种身份验证策略形式的每个 CAS 模块都将在引导时将自身插入到此集合中。在此过程结束时,将收集所有身份验证事务的结果,并选择性地由身份验证策略进行处理,其中可能会考虑某些策略/源的成功/失败,以完全满足身份验证要求。身份验证处理程序的集合尝试以一种更具确定性的方式保持 Sequences。其思路是,采用者可以将 order 值分配给身份验证处理程序,从而在集合中显式定位它并控制其执行顺序。

1.1.3.4. 身份验证前/后处理

有关更多详细信息,请参阅本指南。

1.1.3.5. 命名策略

CAS 中的每个身份验证处理程序都可以通过 CAS 设置命名,如果未定义,则使用处理程序组件本身的短名称(即 LdapAuthenticationHandler)。名称本身可以是任意字符串,通常用于标识和引用服务所需的身份验证等领域的处理程序组件等。如果定义了多个相同类型的身份验证处理程序,建议为每个处理程序指定一个唯一的名称,以避免冲突。身份验证失败通常在 CAS 中按每个身份验证处理程序的名称收集。未定义名称可能会导致身份验证链中的后续组件覆盖以前的结果。

1.1.4. 身份验证策略

有关更多详细信息,请参阅身份验证安全策略。

1.1.5. 长期认证

CAS 支持长期票证授予票证,该功能也称为“记住我”,用于将 SSO 会话的长度延长到典型配置之外。有关更多详细信息,请参阅本指南。

1.1.6. 代理身份验证

有关更多详细信息,请参阅本指南。

1.1.7. 多因素身份验证 (MFA)

有关更多详细信息,请参阅本指南。

1.1.8. 登录限制

CAS 提供了一种限制失败登录尝试的工具,以支持密码猜测和相关滥用情况。有关登录限制的更多详细信息,请参阅本指南。

1.1.9. SSO 会话 Cookie

票证授予 Cookie 是 CAS 在建立单点登录会话时设置的 HTTP Cookie。此 Cookie 维护客户端的登录状态,当它有效时,客户端可以将其提供给 CAS 以代替主凭证。有关更多详细信息,请参阅本指南。

1.2. 方法与策略

1.2.1. LDAP协议

1.2.1.1. 概述

1.2.1.1.1. LDAP 身份验证

通过在覆盖中包含以下依赖项来启用 LDAP 集成:

Apache Maven

Gradle

BOM - Spring

BOM - Gradle

资源

1

2

3

4

5

6

7

8

9

10

dependencies {

/*

The following platform references should be included automatically and are listed here for reference only.


implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}")

implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)


*/

implementation "org.apereo.cas:cas-server-support-ldap"}

1.2.1.1.2. 配置

CAS 根据 LDAP 目录(如 Active Directory 或 OpenLDAP)对用户名/密码进行身份验证。目录体系结构有很多种,我们提供了四种常见情况的配置。

请注意,CAS 将根据下面指定的设置在内部自动创建适当的元件。如果要针对多个 LDAP 服务器进行身份验证,请递增索引并指定下一个 LDAP 服务器的设置。

注意:作为 LDAP 验证的一部分检索的属性将与从其他属性存储库源检索的所有属性 (如果有) 合并。作为 LDAP 身份验证的一部分直接检索的属性优先于所有其他属性。

CAS 配置目录中提供了以下设置和属性:

必填

自选

Groovy 脚本

LDAP & Active Directory

认证

密码编码

主体转换

密码策略

笔记

下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。

Show entries

搜索:


· cas.authn.ldap[0].base-dn=

要使用的基本 DN。在某些情况下,单个 LDAP 树的不同部分可能被视为 base-dns。可以使用特殊的分隔符指定每个条目并将其连接在一起,而不是为每个单独的 base-dn 复制 LDAP 配置块。用户 DN 按定义的顺序使用所有 base-dn 和 DNresolver 的组合进行检索。如果找到多个 DN,则 DN 解析应失败。否则,将返回找到的第一个 DN。通常的语法是:subtreeA,dc=example,dc=net|subtreeC,dc=example,dc=net。

org.apereo.cas.configuration.model.support.ldap.LdapAuthenticationProperties.

如何配置此属性?

· cas.authn.ldap[0].bind-credential=

连接到 LDAP 时要使用的绑定凭证。

org.apereo.cas.configuration.model.support.ldap.LdapAuthenticationProperties.

如何配置此属性?

· cas.authn.ldap[0].bind-dn=

连接到 LDAP 时要使用的绑定 DN。注入 LDAP 连接池的 LDAP 连接配置可以使用以下参数进行初始化:

bindDn/bindCredential provided - 在初始化连接时使用提供的凭证进行绑定。

bindDn/bindCredential 设置为 * - 使用快速绑定策略初始化池。

bindDn/bindCredential 设置为空白 - 跳过连接初始化;匿名执行操作。

提供的 SASL 机制 - 初始化连接时使用给定的 SASL 机制进行绑定。

org.apereo.cas.configuration.model.support.ldap.LdapAuthenticationProperties.

如何配置此属性?

· cas.authn.ldap[0].ldap-url=

服务器的 LDAP URL。可以指定多个,用空格和/或逗号分隔。

org.apereo.cas.configuration.model.support.ldap.LdapAuthenticationProperties.

如何配置此属性?

· cas.authn.ldap[0].password-encoder.encoding-algorithm=

要使用的编码算法,例如 MD5。当使用的类型为 DEFAULT 或 GLIBC_CRYPT 时相关。当与 PasswordEncoderTypes#PBKDF2 一起使用时,它应该是 PBKDF2WithHmacSHA1、PBKDF2WithHmacSHA256 或 PBKDF2WithHmacSHA512 之一。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

显示 1 到 5 的 10 个条目

上一页12下一页

1.2.1.1.3. 口令策略实施

要了解如何为 LDAP 实施密码策略,请查看本指南。

1.2.1.1.4. 口令策略实施

您可能还对将帐户密码与一个或多个 LDAP 服务器同步感兴趣。要了解更多信息,请查看本指南。

1.2.1.1.5. 故障排除

要启用其他日志记录,请修改日志记录配置文件以添加以下内容:

1

2

3

4

1.2.1.2. 密码策略

1.2.1.2.1. 口令策略实施

密码策略实施尝试:

检测许多场景,否则这些场景会阻止基于用户账户状态进行用户身份验证。

警告账户状态接近可配置到期日期的用户,并将流重定向到外部身份管理系统。

1.2.1.2.2. LDAP 协议

默认情况下,以下场景被视为错误,阻止通过正常的 CAS 登录流程以通用方式进行身份验证。LPPE 会拦截身份验证流,检测上述标准错误代码。然后,错误代码将在 CAS 登录流程中转换为适当的消息,并允许用户采取适当的操作,充分解释问题的性质。

ACCOUNT_LOCKED

ACCOUNT_DISABLED

ACCOUNT_EXPIRED

INVALID_LOGON_HOURS

INVALID_WORKSTATION

PASSWORD_MUST_CHANGE

PASSWORD_EXPIRED

将 LDAP 错误转换为 CAS 工作流程完全由 ldaptive 处理。

CAS 配置目录中提供了以下设置和属性:

必填

自选

Groovy 脚本

LDAP & Active Directory

密码策略

笔记

下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。

Show entries

搜索:


· cas.authn.ldap[0].password-policy.groovy.location=

在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:
org.apereo.cas.util.io.PathWatcherService。

org.apereo.cas.configuration.model.SpringResourceProperties.

如何配置此属性?

显示 1 到 1 的 1 个条目

上一页1下一页

1.2.1.2.2.1. 账户到期通知

LPPE 还能够在帐户即将过期时警告用户。过期策略是通过预先配置的 LDAP 属性确定的,并设置了默认值。

1.2.1.2.3. JDBC

一定数量的数据库身份验证方案对通过 CAS 设置中定义的列名检测锁定/禁用/等帐户的支持有限。您需要查阅相关数据库身份验证策略的文档,并键入和配置 CAS 以强制执行密码策略检查。

1.2.2. SQL和JDBC

1.2.2.1. 概述

1.2.2.1.1. 数据库身份验证

通过在 WAR 覆盖中包含以下依赖项来启用数据库身份验证:

Apache Maven

Gradle

BOM - Spring

BOM - Gradle

资源

1

2

3

4

5

6

7

8

9

10

dependencies {

/*

The following platform references should be included automatically and are listed here for reference only.


implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}")

implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)


*/

implementation "org.apereo.cas:cas-server-support-jdbc"


implementation "mysql:mysql-connector-java:8.0.33"

}

要了解如何配置数据库驱动程序,请参阅本指南。

可以传递的参数如下:

选择

资源

绑定

请参阅本指南。

搜索

请参阅本指南。

查询

请参阅本指南。

编码

请参阅本指南。

编码

请参阅本指南。

1.2.2.2. 查询

1.2.2.2.1. 查询数据库身份验证

通过将用户密码(可以使用密码编码器编码)与由可配置的数据库查询确定的记录密码进行比较来验证用户。

CAS 配置目录中提供了以下设置和属性:

l 必填

下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。

Show entries

搜索:


· cas.authn.jdbc.query[0].driver-class=

用于连接到数据库的 JDBC 驱动程序。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.query[0].field-password=

要检索的密码字段/列名称。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.query[0].password-encoder.encoding-algorithm=

要使用的编码算法,例如 MD5。当使用的类型为 DEFAULT 或 GLIBC_CRYPT 时相关。当与 PasswordEncoderTypes#PBKDF2 一起使用时,它应该是 PBKDF2WithHmacSHA1、PBKDF2WithHmacSHA256 或 PBKDF2WithHmacSHA512 之一。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.jdbc.query[0].password-encoder.type=NONE

可以使用以下类型:

l NONE:不进行密码编码(即纯文本)。

l DEFAULT:使用 CAS 的 DefaultPasswordEncoder。对于通过 character-encoding 和 encoding-algorithm 的 message-digestalgorithm。

l BCRYPT根据提供的强度和可选密钥使用 BCryptPasswordEncoder。

l SCRYPT使用 SCryptPasswordEncoder。

l PBKDF2:根据提供的强度和可选的密钥使用 Pbkdf2PasswordEncoder。

l STANDARD根据提供的密钥使用 StandardPasswordEncoder。

l SSHA使用 LdapShaPasswordEncoder 支持 Ldap SHA 和 SSHA (salted-SHA)。这些值是 base-64 编码的,并在编码的哈希前面加上标签 {SHA} 或 {SSHA}。

l GLIBC_CRYPT:根据编码encoding-algorithm、提供的强度和可选的密钥使用 GlibcCryptPasswordEncoder。

l org.example.MyEncoder:您自己选择的 PasswordEncoder 实现。

l
file:///path/to/script.groovy:负责处理密码编码操作的 Groovy 脚本的路径。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.jdbc.query[0].password=

数据库连接密码。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

如何配置此属性?

显示 1 到 5 的 9 个条目

上一页12下一页


· cas.authn.jdbc.query[0].principal-transformation.groovy.location=

使用 Groovy 资源转换用户名。资源的位置。资源可以是 URL,也可以是在类路径上或文件系统外部的某个位置找到的文件。

如果配置的资源是一个令人愉悦的脚本,特别是如果脚本设置为更改进行重新加载,则可能需要调整实例总数inotify。在Linux上,您可能需要将以下行添加到/etc/sysctl.conf:
fs.inotify.max_user_instances = 256。

您可以通过查看当前值cat
/proc/sys/fs/inotify/max_user_instances。

在情况和场景中,CAS能够自动观察基础资源以进行更改并动态检测更新和修改,您可能能够将以下设置指定为具有环境变量或具有值的系统属性以false禁用资源观察者的值:
org.apereo.cas.util.io.PathWatcherService。

org.apereo.cas.configuration.model.SpringResourceProperties.

如何配置此属性?

· cas.authn.jdbc.query[0].sql=

SQL查询要执行。例子:SELECT * FROM table WHERE name=?。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.query[0].url=

数据库连接URL。

此设置支持春季表达语言。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.query[0].user=

数据库用户。

数据库用户必须具有足够的权限才能在需要时能够处理模式更改和更新。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

如何配置此属性?

显示9个条目中的6至9个

以前的12下一个

l 自选

下面列出的配置设置在CAS配置元数据中标记为可选。此标志表明在最终用户CAS配置中不需要立即存在设置的存在,因为分配了默认值或功能的激活不受设置值的有条件控制。换句话说,如果您需要修改默认值或需要打开设置控制的功能,则仅应将此字段包括在配置中。

展示条目

搜索:


· cas.authn.jdbc.query[0].state=

定义该身份验证处理程序的范围和状态,以及可以调用或激活的生命周期。可用值如下:

ACTIVE:活动身份验证处理程序,默认情况下自动调用以全局验证凭据。

STANDBY:身份验证处理程序处于半启用状态,仅在明确要求时等待按需调用。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].read-only=

将要添加到池中的连接配置为仅读取的连接。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].properties=

Hibernate(或连接提供商)提供的其他设置以键值对的形式提供。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].propagation-behavior-name=

定义交易的传播行为。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].principal-transformation.suffix=

后缀在身份验证之前添加到主ID中。

此设置支持春季表达语言。

org.apereo.cas.configuration.model.core.authentication.PrincipalTransformationProperties.

我该如何配置这个属性?

显示46个条目中的1到5

以前的12345……10下一个


· cas.authn.jdbc.query[0].principal-transformation.prefix=

在身份验证之前添加到主体 ID 的前缀。

此设置支持春季表达语言。

org.apereo.cas.configuration.model.core.authentication.PrincipalTransformationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].principal-transformation.pattern=

将用于针对提供的用户名进行用户名提取的正则表达式。成功匹配后,模式中第一个匹配的组将用作提取的用户名。

此设置支持春季表达语言。

org.apereo.cas.configuration.model.core.authentication.PrincipalTransformationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].principal-transformation.case-conversion=NONE

指示主体标识符是否应转换为大写、小写等。可用值如下:

NONE: 没有转换。

LOWERCASE:小写转换。

UPPERCASE:大写转换。

org.apereo.cas.configuration.model.core.authentication.PrincipalTransformationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].principal-transformation.blocking-pattern=

将用于用户名的正则表达式,以匹配阻止/禁止值。如果找到匹配,将引发异常并且主体转换将失败。

此设置支持春季表达语言。

org.apereo.cas.configuration.model.core.authentication.PrincipalTransformationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].principal-attribute-list=

以用户属性获取的列名列表。这仅在JDBC身份验证方法能够针对数据库表执行SQL查询并返回结果的情况下有效。仅检查用户帐户存在或仅使用简单绑定来验证用户的身份验证方法无法获取属性。

属性名称由逗号分开,可以使用允许语法所在的“有向列表”语法column-name->cas-attribute。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

显示46个条目中的6至10

以前的12345……10下一个


· cas.authn.jdbc.query[0].pool.timeout-millis=1000

池将等待连接以活着的验证的最大毫秒数。

org.apereo.cas.configuration.model.support.ConnectionPoolingProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].pool.suspension=

是否允许游泳池悬架。

启用池悬架时会产生性能影响。除非您需要它(例如,对于冗余系统),请勿启用它。

org.apereo.cas.configuration.model.support.ConnectionPoolingProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].pool.name=

设置连接池的名称。这主要用于MBEAN唯一识别池配置。

org.apereo.cas.configuration.model.support.ConnectionPoolingProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].pool.min-size=6

控制允许池达到的最小尺寸,包括闲置和使用中的连接。

org.apereo.cas.configuration.model.support.ConnectionPoolingProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].pool.maximum-lifetime=PT10M

该属性控制池中连接的最长生命周期。当连接达到此超时时,即使最近使用过,它也会从池中退役。正在使用的连接永远不会被退休,只有当它空闲时才会被删除。

此设置支持 java.time.Duration语法[?]。

org.apereo.cas.configuration.model.support.ConnectionPoolingProperties.

我该如何配置这个属性?

显示 46 条记录中的 11 至 15 条

以前的12345……10下一个


· cas.authn.jdbc.query[0].pool.max-wait=PT2S

设置此数据源在尝试连接到数据库时等待的最长时间(以秒为单位)。

值为零指定超时是默认系统超时(如果有的话);否则,它指定没有超时。

此设置支持 java.time.Duration语法[?]。

org.apereo.cas.configuration.model.support.ConnectionPoolingProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].pool.max-size=18

控制池中保留的最大连接数,包括空闲连接和正在使用的连接。

org.apereo.cas.configuration.model.support.ConnectionPoolingProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].pool.keep-alive-time=0

此属性控制池中连接的保持活动间隔。正在使用的连接永远不会被keepalive线程测试,只有当它空闲时才会被测试。默认值为零,这会禁用此功能。

此设置支持 java.time.Duration语法[?]。

org.apereo.cas.configuration.model.support.ConnectionPoolingProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].physical-naming-strategy-class-name=

可以控制hibernate物理命名策略的类的完全限定名称。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].password-encoder.strength=16

用于密码散列的强度或迭代次数。通常在处理PasswordEncoderTypes#BCRYPT,PasswordEncoderTypes#PBKDF2或时相关PasswordEncoderTypes#GLIBC_CRYPT。当与PasswordEncoderTypes#ARGON2或 一起使用时PasswordEncoderTypes#PBKDF2,表示盐的强度。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

我该如何配置这个属性?

显示 46 条条目中的 16 至 20 条

以前的12345……10下一个


· cas.authn.jdbc.query[0].password-encoder.secret=

PasswordEncoderTypes#STANDARD与、PasswordEncoderTypes#PBKDF2、 PasswordEncoderTypes#BCRYPT、PasswordEncoderTypes#GLIBC_CRYPT密码编码器 一起使用的秘密。秘密通常是可选设置。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].password-encoder.iterations=310000

当使用时PasswordEncoderTypes#PBKDF2,它表示所需的迭代次数。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].password-encoder.hash-length=16

使用时PasswordEncoderTypes#ARGON2,它表示哈希强度/长度。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].password-encoder.character-encoding=UTF-8

要使用的编码算法,例如“UTF-8”。当使用的类型是 时相关DEFAULT。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].order=

链中身份验证处理程序的顺序。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

显示46个条目中的21至25

以前的1……456……10下一个


· cas.authn.jdbc.query[0].name=

身份验证处理程序的名称。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].leak-threshold=

控制连接可以从池中退出的时间,然后记录消息表示可能的连接泄漏。

此设置支持 java.time.Duration语法[?]。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].isolation-level-name=

定义交易的隔离水平。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].isolate-internal-queries=

该属性确定数据源在自己的交易中是否隔离了内部池查询,例如连接活着的测试。

由于这些通常是仅阅读的查询,因此很少有必要将它们封装在自己的交易中。此属性仅在#autocommit禁用时适用。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].idle-timeout=

控制允许连接在池中闲置的最大时间。

此设置支持 java.time.Duration语法[?]。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

显示46个条目中的26至30

以前的1……567……10下一个


· cas.authn.jdbc.query[0].health-query=

要执行的 SQL 查询以测试连接的有效性。这适用于不支持 JDBC4 Connection.isValid()API 的“传统”数据库。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].generate-statistics=

允许 hibernate 生成查询统计信息。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].field-expired=

指示帐户是否过期的布尔字段。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].field-disabled=

指示帐户是否被禁用的布尔字段。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].fetch-size=

用于指定在选择查询中要获取的行数。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

显示 46 条记录中的 31 至 35 条

以前的1……678910下一个


· cas.authn.jdbc.query[0].fail-fast-timeout=

设置池初始化失败超时。

任何大于零的值都将被视为池初始化超时。调用线程将被阻止继续运行,直到成功连接到数据库或达到超时为止。如果达到超时,
PoolInitializationException则会抛出 a。

值为零不会阻止 池在无法获取连接的情况下启动。但是,在启动时,池将尝试获取连接并验证连接connectionTestQuery 是否connectionInitSql有效。如果这些验证失败,则会抛出异常。如果无法获取连接,则跳过验证,池将启动并继续在后台尝试获取连接。这可能意味着调用者DataSource#getConnection()可能会遇到异常。

小于零的值不会绕过启动期间的任何连接尝试和验证,因此池将立即启动。池将继续在后台尝试获取连接。这可能意味着调用者DataSource#getConnection()可能会遇到异常。

请注意,如果此超时值大于或等于零 (0),并因此执行初始连接验证,则此超时不会覆盖 connectionTimeout或validationTimeout;在应用此超时之前,他们将受到尊重。默认值为一毫秒。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].dialect=

数据库方言是平台独立软件(JPA、Hibernate 等)的配置设置,它允许此类软件将其通用 SQL 语句转换为供应商特定的 DDL、DML。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].default-schema=

使用生成的 SQL 中给定的架构/表空间限定不合格的表名称。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].default-catalog=

使用生成的 SQL 中的给定目录来限定非限定表名称。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].ddl-auto=

Hibernate 功能可自动验证 DDL 并将其导出到架构。默认情况下,在会话开始和结束时自动创建和删除架构。将值设置为validate或none可能更适合生产,但可以使用以下任何选项:

validate:验证架构,但不对数据库进行任何更改。

update:更新架构。

create:创建模式,破坏以前的数据。

create-drop:在会话结束时删除架构。

none: 什么也不做。

请注意,在版本迁移期间,任何架构发生更改的情况create-drop都会导致 CAS 启动后所有数据丢失。对于像票据这样的瞬态数据,这可能不是问题,但在像审计表这样的情况下,重要数据可能会丢失。使用“更新”虽然对数据安全,但已被确认会导致无效的数据库状态。validate或none设置可能是生产使用的唯一安全选项。

有关更多信息,请参阅此。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

显示 46 条条目中的 36 至 40 条

以前的1……678910下一个


· cas.authn.jdbc.query[0].data-source-name=

尝试执行JNDI数据源查找指定的数据源名称。将尝试像以前那样找到数据源对象。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].credential-criteria=

允许许多身份验证处理程序确定他们是否可以在提供的凭据上操作,并在身份验证处理程序选择阶段进行尝试和测试。凭证标准可能是以下选项之一:

1)针对凭证标识符测试的正则表达模式。

2)实现自己的设计的完全合格的班级名称Predicate。

3)通往实现相同接口的外部凹槽脚本的路径。

此设置支持正则表达方式。[?]。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].connection-timeout=

指示该服务可以等待获得连接的最大数量。

此设置支持 java.time.Duration语法[?]。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].batch-size=

一个非零值可以使用Hibernate使用JDBC2批处理更新。例如,建议值在5到30之间。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

· cas.authn.jdbc.query[0].autocommit=

池中连接的默认自动信号行为。确定是否应立即执行诸如更新/插入之类的查询,而无需等待基础交易。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryJdbcAuthenticationProperties.

我该如何配置这个属性?

显示46个条目中的41至45个

以前的1……678910下一个


· cas.authn.jdbc.query=

与查询模式JDBC身份验证有关的设置。通过将用户密码(可以使用密码编码编码)与可配置数据库查询确定的记录上的密码进行比较来验证用户。

org.apereo.cas.configuration.model.support.jdbc.JdbcAuthenticationProperties.

我该如何配置这个属性?

显示 46 条条目中的 46 至 46 条

以前的1……678910下一个

l Hibernate 和 JDBC

当 CAS 尝试使用和利用数据库资源、连接和查询时,控制与 Hibernate 相关的全局属性。

展示条目

搜索:


· cas.jdbc.case-insensitive=false

选择物理表名称时,确定名称是否应视为不区分大小写。

我该如何配置这个属性?

· cas.jdbc.gen-ddl=true

是否在EntityManagerFactory初始化/更新所有相关表之后生成DDL。

我该如何配置这个属性?

· cas.jdbc.physical-table-names=

指示 hibernate 命名策略要使用的物理表名称,以防需要针对特定类型的数据库自定义表名称。这里的键表示 CAS 提供的表名,值是数据库的翻译物理名称。如果未找到 CAS 提供的表名称的匹配项,则默认情况下将使用该名称。

我该如何配置这个属性?

· cas.jdbc.show-sql=false

SQL 查询是否应显示在控制台/日志中。

我该如何配置这个属性?

显示4个条目中的1到4个

以前的1下一个

l Groovy 脚本

l 认证

l 密码编码

l 主体转换

l 笔记

1.2.2.2.2. 查询数据库身份验证配置

l 修改application.yml


cas\src\main\resources\application.yml


# Application properties that need to be

# embedded within the web application can be included here


cas:

authn:

accept:

# 关闭CAS身份验证静态凭据

enabled: "false"

jdbc:

query[0]:

# 活动身份验证处理程序,默认情况下自动调用以全局验证凭据。

state: "ACTIVE"

# 用于连接到数据库的 JDBC 驱动程序。

driver-class: "com.mysql.cj.jdbc.Driver"

# 数据库连接URL。

url: "jdbc:mysql://localhost:3306/cas?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true"

# SQL查询要执行。例子:SELECT * FROM table WHERE name=?。

sql: "SELECT * FROM user WHERE username=?"

# 数据库用户。

user: "root"

# 数据库连接密码。

password: "123456"

# 要检索的密码字段/列名称。

field-password: "password"

# 数据库方言是平台独立软件(JPA、Hibernate 等)的配置设置,

# 它允许此类软件将其通用 SQL 语句转换为供应商特定的 DDL、DML。

dialect: "org.hibernate.dialect.HSQLDialect"

# 指示帐户是否过期的布尔字段。

field-expired: "false"

# 指示帐户是否被禁用的布尔字段。

field-disabled: "false"

password-encoder:

# 要使用的编码算法,例如 MD5。

encoding-algorithm: "MD5"

# 不进行密码编码(即纯文本)。

type: "DEFAULT"

# 要使用的编码算法,例如“UTF-8”。当使用的类型是DEFAULT时相关。

character-encoding: "UTF-8"

# 使用时PasswordEncoderTypes#ARGON2,它表示哈希强度/长度。

hash-length: "32"

# 用于密码散列的强度或迭代次数。

# 通常在处理PasswordEncoderTypes#BCRYPT,PasswordEncoderTypes#PBKDF2或PasswordEncoderTypes#GLIBC_CRYPT时相关。

# 当与PasswordEncoderTypes#ARGON2或PasswordEncoderTypes#PBKDF2一起使用时,表示盐的强度。

strength: "32"

jdbc:

# SQL 查询是否应显示在控制台/日志中。

show-sql: "true"

# 选择物理表名称时,确定名称是否应视为不区分大小写。

case-insensitive: "false"

# 是否在EntityManagerFactory初始化/更新所有相关表之后生成DDL。

# gen-ddl: "true"


l 创建数据库和表

CREATE TABLE `user` (

`id` int NOT NULL,

`username` varchar(45) DEFAULT NULL,

`password` varchar(45) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1.2.2.3. 绑定

1.2.2.3.1. 绑定数据库身份验证

通过尝试使用用户名和(哈希)密码创建数据库连接来验证用户。

CAS 配置目录中提供了以下设置和属性:

必填

自选


Hibernate 和 JDBC


Groovy 脚本


认证

密码编码

主体转换


笔记

下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。

Show entries

搜索:


· cas.authn.jdbc.bind[0].driver-class=

用于连接到数据库的 JDBC 驱动程序。

org.apereo.cas.configuration.model.support.jdbc.authn.BaseJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.bind[0].password-encoder.encoding-algorithm=

要使用的编码算法,例如 MD5。当使用的类型为 DEFAULT 或 GLIBC_CRYPT 时相关。当与 PasswordEncoderTypes#PBKDF2 一起使用时,它应该是 PBKDF2WithHmacSHA1、PBKDF2WithHmacSHA256 或 PBKDF2WithHmacSHA512 之一。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.jdbc.bind[0].password-encoder.type=NONE

可以使用以下类型:

l NONE:不进行密码编码(即纯文本)。

l DEFAULT:使用 CAS 的 DefaultPasswordEncoder。对于通过 character-encoding 和 encoding-algorithm 的 message-digestalgorithm。

l BCRYPT根据提供的强度和可选密钥使用 BCryptPasswordEncoder。

l SCRYPT使用 SCryptPasswordEncoder。

l PBKDF2:根据提供的强度和可选的密钥使用 Pbkdf2PasswordEncoder。

l STANDARD根据提供的密钥使用 StandardPasswordEncoder。

l SSHA使用 LdapShaPasswordEncoder 支持 Ldap SHA 和 SSHA (salted-SHA)。这些值是 base-64 编码的,并在编码的哈希前面加上标签 {SHA} 或 {SSHA}。

l GLIBC_CRYPT:根据编码encoding-algorithm、提供的强度和可选的密钥使用 GlibcCryptPasswordEncoder。

l org.example.MyEncoder:您自己选择的 PasswordEncoder 实现。

l
file:///path/to/script.groovy:负责处理密码编码操作的 Groovy 脚本的路径。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.jdbc.bind[0].password=

数据库连接密码。

org.apereo.cas.configuration.model.support.jdbc.authn.BaseJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.bind[0].principal-transformation.groovy.location=

在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:
org.apereo.cas.util.io.PathWatcherService。

org.apereo.cas.configuration.model.SpringResourceProperties.

如何配置此属性?

显示 1 到 5 的 7 个条目

上一页12下一页

1.2.2.4. 搜索

1.2.2.4.1. 搜索数据库身份验证

通过查询用户名和密码来搜索用户记录;如果至少找到一个结果,则对用户进行身份验证。

CAS 配置目录中提供了以下设置和属性:

必填

自选


Hibernate 和 JDBC


Groovy 脚本


认证

密码编码

主体转换


笔记

下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。

Show entries

搜索:


· cas.authn.jdbc.search[0].driver-class=

用于连接到数据库的 JDBC 驱动程序。

org.apereo.cas.configuration.model.support.jdbc.authn.SearchJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.search[0].field-password=

密码列名称。

org.apereo.cas.configuration.model.support.jdbc.authn.SearchJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.search[0].field-user=

用户名列名称。

org.apereo.cas.configuration.model.support.jdbc.authn.SearchJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.search[0].password-encoder.encoding-algorithm=

要使用的编码算法,例如 MD5。当使用的类型为 DEFAULT 或 GLIBC_CRYPT 时相关。当与 PasswordEncoderTypes#PBKDF2 一起使用时,它应该是 PBKDF2WithHmacSHA1、PBKDF2WithHmacSHA256 或 PBKDF2WithHmacSHA512 之一。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.jdbc.search[0].password-encoder.type=NONE

可以使用以下类型:

l NONE:不进行密码编码(即纯文本)。

l DEFAULT:使用 CAS 的 DefaultPasswordEncoder。对于通过 character-encoding 和 encoding-algorithm 的 message-digestalgorithm。

l BCRYPT根据提供的强度和可选密钥使用 BCryptPasswordEncoder。

l SCRYPT使用 SCryptPasswordEncoder。

l PBKDF2:根据提供的强度和可选的密钥使用 Pbkdf2PasswordEncoder。

l STANDARD根据提供的密钥使用 StandardPasswordEncoder。

l SSHA使用 LdapShaPasswordEncoder 支持 Ldap SHA 和 SSHA (salted-SHA)。这些值是 base-64 编码的,并在编码的哈希前面加上标签 {SHA} 或 {SSHA}。

l GLIBC_CRYPT:根据编码encoding-algorithm、提供的强度和可选的密钥使用 GlibcCryptPasswordEncoder。

l org.example.MyEncoder:您自己选择的 PasswordEncoder 实现。

l
file:///path/to/script.groovy:负责处理密码编码操作的 Groovy 脚本的路径。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

显示 1 到 5 的 10 个条目

上一页12下一页

1.2.2.5. 编码

1.2.2.5.1. 对数据库身份验证进行编码

一个 JDBC 查询处理程序,它将拉回密码和私有 salt 值,以便用户使用公共 salt 值验证 encodedpassword。假设所有内容都在同一个数据库表中。支持迭代次数和私有盐的设置。

此密码编码方法结合了私有 Salt 和公有 Salt,它在哈希处理之前将其添加到密码前面。如果使用多次迭代,则第一次迭代的字节码哈希将重新哈希,而不使用 salt 值。最终的哈希值在与数据库值进行比较之前转换为 hex。

CAS 配置目录中提供了以下设置和属性:

必填

自选


Hibernate 和 JDBC


Groovy 脚本


认证

密码编码

主体转换


笔记

下面列出的配置设置在 CAS 配置元数据中标记为 Required。此标志表示可能需要该设置的存在才能激活或影响 CAS 功能的行为,并且通常应进行审查、可能拥有和调整。如果为该设置分配了默认值,则无需严格将该设置放在配置副本中,但仍应对其进行检查以确保它符合您的部署预期。

Show entries

搜索:


· cas.authn.jdbc.encode[0].driver-class=

用于连接到数据库的 JDBC 驱动程序。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryEncodeJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.encode[0].password-encoder.encoding-algorithm=

要使用的编码算法,例如 MD5。当使用的类型为 DEFAULT 或 GLIBC_CRYPT 时相关。当与 PasswordEncoderTypes#PBKDF2 一起使用时,它应该是 PBKDF2WithHmacSHA1、PBKDF2WithHmacSHA256 或 PBKDF2WithHmacSHA512 之一。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.jdbc.encode[0].password-encoder.type=NONE

可以使用以下类型:

l NONE:不进行密码编码(即纯文本)。

l DEFAULT:使用 CAS 的 DefaultPasswordEncoder。对于通过 character-encoding 和 encoding-algorithm 的 message-digestalgorithm。

l BCRYPT根据提供的强度和可选密钥使用 BCryptPasswordEncoder。

l SCRYPT使用 SCryptPasswordEncoder。

l PBKDF2:根据提供的强度和可选的密钥使用 Pbkdf2PasswordEncoder。

l STANDARD根据提供的密钥使用 StandardPasswordEncoder。

l SSHA使用 LdapShaPasswordEncoder 支持 Ldap SHA 和 SSHA (salted-SHA)。这些值是 base-64 编码的,并在编码的哈希前面加上标签 {SHA} 或 {SSHA}。

l GLIBC_CRYPT:根据编码encoding-algorithm、提供的强度和可选的密钥使用 GlibcCryptPasswordEncoder。

l org.example.MyEncoder:您自己选择的 PasswordEncoder 实现。

l
file:///path/to/script.groovy:负责处理密码编码操作的 Groovy 脚本的路径。

org.apereo.cas.configuration.model.core.authentication.PasswordEncoderProperties.

如何配置此属性?

· cas.authn.jdbc.encode[0].password=

数据库连接密码。

org.apereo.cas.configuration.model.support.jdbc.authn.QueryEncodeJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.jdbc.encode[0].principal-transformation.groovy.location=

在 CAS 能够自动监视底层资源的更改并动态检测更新和修改的情况和场景中,您可以将以下设置指定为环境变量或系统属性,其值为 false,以禁用资源观察程序:
org.apereo.cas.util.io.PathWatcherService。

org.apereo.cas.configuration.model.SpringResourceProperties.

如何配置此属性?

显示 1 到 5 的 9 个条目

上一页12下一页

......

Tags:

最近发表
标签列表