问题描述
我已成功将 ldap-ad 添加到 Alfresco。现在,当我在 AD 中创建用户时,它与 Alfresco 同步并且我得到了一个 Alfresco 用户。问题是,如果用户 Bob(已从 AD 同步)更改了他的密码(在 Alfresco 界面中),密码将在哪个身份验证系统中更改,Alfresco 还是 AD?
如果密码会在 AD 中更改,那么我没有其他问题,但据我所知,只有一个方向同步,从 AD 到 Alfresco,所以 Alfresco 无法访问 AD 密码并更改它们。这是否意味着 Alfresco 将为 Bob 创建密码并将其存储在自己的身份验证系统中,现在 Bob 可以使用 alfresco 和 AD 密码(新旧密码)登录?最重要的问题:如何避免这种情况?提前致谢。
解决方法
Alfresco 使用身份验证链概念。这意味着您可以为身份验证配置 1 个以上的系统,如果用户尝试通过配置的链对 Alfresco 步骤进行身份验证,并一个接一个地尝试系统,直到用户通过身份验证成功,或者如果最后一个链成员的身份验证失败,则身份验证尝试被假定为失败。
Alfresco 带来了自己的身份验证子系统,以使用密码在本地存储库数据库中创建和存储用户。本地创建的用户(如 admin)存储在本地子系统 f1 <- function(dat,colnms,vals) {
dat %>%
filter(map2(colnms,vals,~ cur_data()[[.x]] == .y) %>%
reduce(`&`))
}
中,您可以在 f1(df,col1,val1)
# A tibble: 2 x 11
mpg cyl disp hp drat wt qsec vs am gear carb
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
f1(df,col2,val2)
# A tibble: 2 x 11
mpg cyl disp hp drat wt qsec vs am gear carb
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
f1(df,col4,val4)
# A tibble: 18 x 11
mpg cyl disp hp drat wt qsec vs am gear carb
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
3 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
4 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4
5 16.4 8 276. 180 3.07 4.07 17.4 0 0 3 3
6 17.3 8 276. 180 3.07 3.73 17.6 0 0 3 3
7 15.2 8 276. 180 3.07 3.78 18 0 0 3 3
8 10.4 8 472 205 2.93 5.25 18.0 0 0 3 4
9 10.4 8 460 215 3 5.42 17.8 0 0 3 4
10 14.7 8 440 230 3.23 5.34 17.4 0 0 3 4
11 15.5 8 318 150 2.76 3.52 16.9 0 0 3 2
12 15.2 8 304 150 3.15 3.44 17.3 0 0 3 2
13 13.3 8 350 245 3.73 3.84 15.4 0 0 3 4
14 19.2 8 400 175 3.08 3.84 17.0 0 0 3 2
15 26 4 120. 91 4.43 2.14 16.7 0 1 5 2
16 15.8 8 351 264 4.22 3.17 14.5 0 1 5 4
17 19.7 6 145 175 3.62 2.77 15.5 0 1 5 6
18 15 8 301 335 3.54 3.57 14.6 0 1 5 8
存储的节点浏览器中找到该子系统。该商店仅用于内部用户的身份验证。
您在 Alfresco UI 中看到和管理的“用户”属于 alfrescoNtlm
类型,存储在主存储 user://alfrescoUserStore/
(/sys:system/sys:people/) 中,但不包含任何密码全部。
ldap 同步仅在 cm:person
下的 workspace://SpacesStore
中创建用户,一旦用户尝试登录 Alfresco,就会遍历 workspace://SpacesStore
,这在生产中可能看起来像:
/sys:system/sys:people/
。
只有在本地 alfrescoUserStore 中找到用户时,Alfresco Share 才会为用户提供“更改密码”对话框。 Alfresco 绝不会在任何其他系统中更改密码。
测试您是否理解所有内容:如果 AD 和本地 alfrescoUserStore 中存在用户 authentication.chain
并在 Alfresco UI 中更改其密码,会发生什么情况? ;-)
如果您使用 LDAP 进行身份验证,那么密码将永远不会存储在 Alfresco 中。密码将存储在 LDAP 中,并将通过他们的电子邮件或用户名与 Alfresco 相关联。