CAS单点登录(第7版)16.模仿

CAS单点登录(第7版)16.模仿

精选文章moguli202025-03-08 13:44:1730A+A-

如有疑问,请看视频:CAS单点登录(第7版)

1. 模仿

1.1. 概述

1.1.1. 代理身份验证

代理身份验证(模拟),有时称为 Web 的 sudo,是代表其他用户进行身份验证的能力。

在这种情况下,两个参与者是:

在身份验证时验证其凭证的主管理员用户。

代理用户由管理员选择,CAS 将在凭据验证后切换到该代理用户,并且是链接到单点登录会话的用户。

模拟的示例用例包括:

代表用户登录到应用程序以执行和进行更改。

代表其他用户对应用程序的麻烦身份验证体验进行故障排除。

通过在 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-surrogate-webflow"}

1.1.2. 配置

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


自选

笔记

下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。

Show entries

搜索:


· cas.authn.surrogate.core.principal-attribute-names=

可以授权所有主要用户/主题进行模拟,这些主用户/主题携带特定属性,并通过 #principalAttributeValues 指定预定义的匹配值。不用说,在此步骤之前,需要先解析主主体的属性。匹配和比较操作不区分大小写。

org.apereo.cas.configuration.model.support.surrogate.SurrogateCoreAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.core.principal-attribute-values=

与 principal 属叉匹配的正则表达式,用于确定帐户是否有权进行模拟。匹配和比较操作不区分大小写。

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateCoreAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.core.separator=+

用于区分代理帐户和管理员/主帐户的分隔符。例如,如果您是 casuser,并且需要切换到 jsmith 作为代理(模拟)用户,则提供给 CAS 的用户名将为 jsmith+casuser。

org.apereo.cas.configuration.model.support.surrogate.SurrogateCoreAuthenticationProperties.

如何配置此属性?

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

上一页1下一页

1.1.3. 账户存储

可以配置以下帐户存储,并将其用于查找为特定用户授权的代理项。

存储

描述

简单

请参阅本指南。

JSON 格式

请参阅本指南。

LDAP 协议

请参阅本指南。

JDBC

请参阅本指南。

REST

请参阅本指南。

Groovy

请参阅本指南。

自定义

请参阅本指南。

请注意,多个账户存储可以合并,并且可以同时运行以查找来自不同存储的账户。

1.1.4. 账户选择

请参阅本指南。

1.1.5. 会话过期

请参阅本指南。

1.1.6. 代理项属性

成功执行代理身份验证事件后,会将以下属性传回应用程序,以便检测模拟会话:

属性

指示

surrogateEnabled

Boolean 来指示是否模拟会话。

surrogatePrincipal

其凭证经过验证并充当模拟者的 admin 用户。

surrogateUser

模拟的代理用户。

1.1.7. 代理访问策略

请参阅本指南。

1.1.8. 代理审计

请参阅本指南。

1.1.9. 代理主体决议

请参阅本指南。

1.1.10. REST 协议

该功能将 CAS REST API 通信模型扩展到代理身份验证,允许 REST 凭证指定替代项并代表其他用户进行身份验证。要为 CAS REST API 激活代理身份验证,您需要选择以下选项之一:

使用以下语法格式化凭证用户名:

1

[surrogate-userid][separator][primary-userid]

传递包含代理 userid 的特殊请求标头 X-Surrogate-Principal。

1.2. 帐户选择

1.2.1. 帐户选择 - 代理身份验证

代理用户选择可以通过以下方式进行。

预选

GUI

PRINCIPAL 属性

通配符


在这种情况下,代理用户身份事先是已知的,并在登录时使用特殊语法提供给 CAS。输入凭据时,应使用以下语法:


1

[impersonated-userid][separator][primary-userid]


例如,如果您是 casuser 并且需要以代理(模拟)用户身份切换到 jsmith,则提供给 CAS 的凭证 ID 或用户名将为 jsmith+casuser,其中分隔符为 +,可以通过 CAS 配置进行更改。CAS 将首先将 casuser 验证为主要用户,然后在允许时切换到 jsmith。


1.3. 访问策略

1.3.1. 访问策略 - 代理身份验证

每个代理帐户存储都能够确定模拟者列表以强制实施授权规则。此外,您可以按服务级别定义是否授权应用程序利用代理身份验证。仅当 Build authentication and SSO 会话是模拟会话时,才会激活代理访问策略。

属性

Groovy

确定是否为主要用户标记了足够的属性和权利,以允许执行模拟。在下面的示例中,仅当经过身份验证的主用户携带包含值 givenName 时,才允许对与 testId 匹配的应用程序进行代理Administrator


示例服务定义如下:


1

2

3

4

5

6

7

8

9

10

11

12

13

{

"@class" : "org.apereo.cas.services.CasRegisteredService",

"serviceId" : "testId",

"name" : "testId",

"id" : 1,

"accessStrategy" : {

"@class" : "org.apereo.cas.services.SurrogateRegisteredServiceAccessStrategy",

"surrogateRequiredAttributes" : {

"@class" : "java.util.HashMap",

"givenName" : [ "java.util.HashSet", [ "Administrator" ] ]

}

}}

1.3.2. 每个应用程序的代理身份验证

可以针对特定应用程序有选择地控制代理身份验证。默认情况下,所有服务和应用程序都有资格进行代理身份验证和模拟。

1

2

3

4

5

6

7

8

9

10

{

"@class": "org.apereo.cas.services.CasRegisteredService",

"serviceId": "^https://app.example.org",

"name": "App",

"id": 1,

"surrogatePolicy" : {

"@class" : "org.apereo.cas.services.DefaultRegisteredServiceSurrogatePolicy",

"enabled": false

}}

支持以下无密码策略设置:

名字

描述

enabled

Boolean 用于定义此服务是否允许代理身份验证。

1.1. 会话过期

1.1.1. 会话过期 - 代理身份验证

可以为模拟会话分配一个特定的过期策略,该策略将控制代理会话的持续时间。这意味着,一旦过期策略规定,作为模拟的一部分建立的 SSO 会话将正确地消失。建议您保持较短的过期时间(即 30 分钟),以避免可能的安全问题。

记得

分配给模拟会话的过期策略应比分配给非代理会话的正常过期策略短。换句话说,如果控制单点登录会话的通常过期策略设置为 last2 小时,则代理会话过期时间应小于或等于 2 小时。

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


自选

笔记

下面列出的配置设置在 CAS 配置元数据中标记为 Optional(可选)。This标志表示在最终用户 CAS 配置中不需要立即存在该设置,因为分配了默认值,或者该功能的激活不受设置值有条件地控制。换句话说,仅当需要修改默认值或需要打开由设置控制的功能时,才应在配置中包含此字段。

Show entries

搜索:


· cas.authn.surrogate.tgt.time-to-kill-in-seconds=1800

超时(以秒为单位)以终止代理会话并认为票证已过期。

org.apereo.cas.configuration.model.support.surrogate.SurrogateAuthenticationTicketGrantingTicketProperties.

如何配置此属性?

显示 1 到 1 的 1 个条目

上一页1下一页

1.2. 主要决议

1.2.1. 主体解析 - 代理身份验证

控制 CAS 如何构建和标识最终代理主体。

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

必填

自选


Groovy 脚本


主体转换


笔记

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

Show entries

搜索:


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

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

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

如何配置此属性?

显示 1 到 1 的 1 个条目

上一页1下一页

1.3. 审计

1.3.1. 审计 - 代理身份验证

默认情况下,在审核日志中跟踪代理身份验证事件:

1

2

3

4

5

6

7

8

9

=============================================================

WHO: (Primary User: [casuser], Surrogate User: [testuser])

WHAT: ST-1-u_R_SyXJJlENS0fBLwpecNE for https://example.app.edu

ACTION: SERVICE_TICKET_CREATED

APPLICATION: CAS

WHEN: Mon Sep 11 12:55:07 MST 2017

CLIENT IP ADDRESS: 127.0.0.1

SERVER IP ADDRESS: 127.0.0.1

=============================================================

此外,失败和成功事件也可能通过 SMS 和 / 或电子邮件消息传达给相关方。

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

必填

自选

电子邮件服务器

笔记

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

Show entries

搜索:


· cas.authn.surrogate.mail.attribute-name=

指示此邮件的目标电子邮件地址的主体属性名称。这些属性必须已解析并可供 CAS 主体使用。当指定了多个属性时,将根据可用的 CAS 主体检查每个属性,以查找电子邮件地址值,这可能会导致发送多封电子邮件。

此设置支持 Spring 表达式语言。

org.apereo.cas.configuration.model.support.email.EmailProperties.

如何配置此属性?

· cas.authn.surrogate.mail.from=

电子邮件发件人地址。

org.apereo.cas.configuration.model.support.email.EmailProperties.

如何配置此属性?

· cas.authn.surrogate.mail.subject=

主题可以定义为 verbaitm,也可以使用语法 #{subject-language-key} 指向语言包中的消息键。此键应指向在相应语言包中定义的有效消息,然后通过活动区域设置选取该消息。如果语言代码无法解析实际主题,则将使用默认主题值。

此设置支持 Spring 表达式语言。

org.apereo.cas.configuration.model.support.email.EmailProperties.

如何配置此属性?

· cas.authn.surrogate.sms.attribute-name=

指示此 SMS 消息的目标电话号码的主体属性名称。该属性必须已解析并可供 CAS 主体使用。

此设置支持 Spring 表达式语言。

org.apereo.cas.configuration.model.support.sms.SmsProperties.

如何配置此属性?

· cas.authn.surrogate.sms.from=

邮件的发件人地址。

org.apereo.cas.configuration.model.support.sms.SmsProperties.

如何配置此属性?

显示 1 到 5 的 6 个条目

上一页12下一页


要了解有关可用选项的更多信息,请参阅本指南或本指南。

1.4. 账户存储

1.4.1. 简单

1.4.1.1. 静态代理身份验证

代理帐户可以在 CAS 配置中静态定义。

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

必填

自选

LDAP & Active Directory

笔记

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

Show entries

搜索:


· cas.authn.surrogate.simple.base-dn=

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateSimpleAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.simple.bind-credential=

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateSimpleAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.simple.bind-dn=

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

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

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

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

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateSimpleAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.simple.ldap-url=

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateSimpleAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.simple.search-filter=

你也可以提供一个外部的 groovy 脚本,语法为
file:/path/to/GroovyScript.groovy,以动态地完全构建最终的过滤器模板。

org.apereo.cas.configuration.model.support.surrogate.SurrogateSimpleAuthenticationProperties.

如何配置此属性?

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

上一页1下一页

1.4.2. LDAP协议

1.4.2.1. LDAP 代理身份验证

通过在 WAR 覆盖中包含以下依赖项来启用对代理身份验证的 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-surrogate-authentication-ldap"}

也可以从 LDAP 实例中检索代理帐户。此类帐户应在为 LDAP 中的主要用户定义的已配置属性中找到,该属性的值可以根据您自己选择的正则表达式模式进行检查,以进一步缩小授权代理帐户的列表。

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

必填

自选

LDAP & Active Directory

笔记

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

Show entries

搜索:


· cas.authn.surrogate.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.surrogate.SurrogateLdapAuthenticationProperties.

如何配置此属性?

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

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateLdapAuthenticationProperties.

如何配置此属性?

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

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

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

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

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

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateLdapAuthenticationProperties.

如何配置此属性?

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

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateLdapAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.ldap[0].member-attribute-name=

必须在链接到 admin 用户的 LDAP 条目上找到的属性,该条目将帐户标记为已授权进行模拟。然后,将所有属性值与您在 #
getMemberAttributeValueRegex() 中指定的模式进行比较。

org.apereo.cas.configuration.model.support.surrogate.SurrogateLdapAuthenticationProperties.

如何配置此属性?

显示 1 到 5 的 7 个条目

上一页12下一页

1.4.3. JSON 格式

1.4.3.1. JSON 代理身份验证注册

代理帐户可以在外部 JSON 文件中定义,其路径通过 CAS 配置指定。JSON 文件的语法应与以下代码段匹配:

1

2

3

4

{

"casuser": ["jsmith", "banderson"],

"adminuser": ["jsmith", "tomhanks"]}

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

必填

笔记

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

Show entries

搜索:


· cas.authn.surrogate.json.location=

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateJsonAuthenticationProperties.

如何配置此属性?

显示 1 到 1 的 1 个条目

上一页1下一页

1.4.4. REST

1.4.4.1. REST 代理身份验证

通过在 WAR 覆盖中包含以下依赖项来启用对代理身份验证的 REST 支持:

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-surrogate-authentication-rest"}


方法

描述

参数

响应

GET

委托人是否可以作为代理帐户进行身份验证。

surrogate, principal

202

GET

主体有资格模拟的帐户列表。

principal

用户名的 JSON 列表。

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

必填

自选

笔记

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

Show entries

搜索:


· cas.authn.surrogate.rest.url=

用于联系和检索属性的终端节点 URL。

此设置支持 Spring 表达式语言。

org.apereo.cas.configuration.model.support.surrogate.SurrogateRestfulAuthenticationProperties.

如何配置此属性?

显示 1 到 1 的 1 个条目

上一页1下一页

1.4.5. Groovy

1.4.5.1. Groovy 代理身份验证

代理帐户可以在外部 Groovy 脚本中定义,该脚本的路径是通过 CAS 配置指定的。脚本的主体可以定义如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

import org.apereo.cas.authentication.principal.*

def isWildcardAuthorized(Object... args) {

def (surrogate,principal,service,logger) = args

logger.info("Checking wildcard access {}", surrogate)

return false}

def canAuthenticate(Object... args) {

def (surrogate,principal,service,logger) = args

logger.info("Checking surrogate access for {} and service ${service?.id}", surrogate)

def accounts = getAccounts(principal.id, service, logger)

return accounts.contains(surrogate)}

def getAccounts(Object... args) {

def (user,service,logger) = args

logger.info("Getting authorized accounts for {} and service ${service?.id}", user)

return []}

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

必填

Groovy 脚本

笔记

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

Show entries

搜索:


· cas.authn.surrogate.groovy.location=

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateGroovyAuthenticationProperties.

如何配置此属性?

显示 1 到 1 的 1 个条目

上一页1下一页


要准备 CAS 以支持 Apache Groovy 并与之集成,请查看本指南。


用于检索给定管理员用户的合格帐户列表的 SQL 查询。

org.apereo.cas.configuration.model.support.surrogate.SurrogateJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.jdbc.surrogate-search-query=SELECT COUNT(*) FROM surrogate WHERE username=?

用于确定管理员用户是否可以模拟其他用户的 Surrogate 查询。查询必须返回大于零的整数计数。

org.apereo.cas.configuration.model.support.surrogate.SurrogateJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.jdbc.url=jdbc:hsqldb:mem:cas-hsql-database

数据库连接 URL。

此设置支持 Spring 表达式语言。

org.apereo.cas.configuration.model.support.surrogate.SurrogateJdbcAuthenticationProperties.

如何配置此属性?

显示 1 到 5 的 6 个条目

上一页12下一页

1.4.6. JDBC

JDBC 代理身份验证

通过在 WAR 覆盖中包含以下依赖项来启用 JDBC 对代理身份验证的支持:

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-surrogate-authentication-jdbc"}

除了通常的数据库设置外,此模式还需要指定两个 SQL 查询;一个用于确定资格,另一个能够检索可为给定管理员用户模拟的帐户列表。

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

必填

自选


Hibernate 和 JDBC


笔记

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

Show entries

搜索:


· cas.authn.surrogate.jdbc.driver-class=org.hsqldb.jdbcDriver

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

org.apereo.cas.configuration.model.support.surrogate.SurrogateJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.jdbc.password=

数据库连接密码。

org.apereo.cas.configuration.model.support.surrogate.SurrogateJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.jdbc.surrogate-account-query=SELECT surrogate_user AS surrogateAccount FROM surrogate WHERE username=?

用于检索给定管理员用户的合格帐户列表的 SQL 查询。

org.apereo.cas.configuration.model.support.surrogate.SurrogateJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.jdbc.surrogate-search-query=SELECT COUNT(*) FROM surrogate WHERE username=?

用于确定管理员用户是否可以模拟其他用户的 Surrogate 查询。查询必须返回大于零的整数计数。

org.apereo.cas.configuration.model.support.surrogate.SurrogateJdbcAuthenticationProperties.

如何配置此属性?

· cas.authn.surrogate.jdbc.url=jdbc:hsqldb:mem:cas-hsql-database

数据库连接 URL。

此设置支持 Spring 表达式语言。

org.apereo.cas.configuration.model.support.surrogate.SurrogateJdbcAuthenticationProperties.

如何配置此属性?

显示 1 到 5 的 6 个条目

上一页12下一页

1.4.7. 自定义

1.4.7.1. 自定义代理身份验证

如果您想设计自己的账户商店,您可以遵循以下方法:

1

2

3

4

5

6

7

8

9

10

11

12

package org.apereo.cas.custom;

@AutoConfiguration@EnableConfigurationProperties(CasConfigurationProperties.class)public class MySurrogateConfiguration {


@Bean

public SurrogateAuthenticationService surrogateAuthenticationService() {

...

}

}

请参阅本指南,了解有关如何将配置注册到 CAS 运行时的更多信息。

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2