我正在运行 Confluence 3.5.13。
我使用 TechTime 的 NTLMv2 插件对我们的 Active Directory 林进行了 SSO 身份验证。
在 Confluence 中拥有活跃账户的用户会自动登录,没有账户的用户可以匿名浏览空间。这里没有问题。
但是,如果用户在 Confluence 数据库中的账户已被禁用,则会出现问题。无论他们尝试访问什么,都会看到一个页面,上面写着“您无权执行此操作”。
我的问题是:是否可以配置 Confluence,以便帐户被禁用的人能够像匿名用户一样浏览?
由于引用了用户过去贡献的内容,因此无法删除用户的帐户。他们可以注销,但只要他们转到另一个页面,SSO 就会再次对他们进行身份验证,并拒绝他们访问。
我认为我需要一种方法来为禁用帐户的用户提供“使用 Confluence”全局权限,同时保持他们的禁用状态以用于其他目的。
我也在 Atlassian 的论坛上发布了这个问题,因此大家正在竞相寻找一个好的答案。;-)
答案1
来自 Ed科技时间:
可以强制 IOPlex Jespa(实际上在引擎盖下执行 NTLM 身份验证的库)在注销时将匿名身份安装到会话中。这将阻止用户在明确注销后立即再次登录,但它也会消除通过单击注销页面之外的任何内容再次登录的可能性。如果您确实想走这条路,只需在 web.xml 中的 Jespa 过滤器定义中添加/更改以下内容:
<init-param>
<param-name>http.parameter.anonymous.name</param-name>
<param-value>logout</param-value>
</init-param>
<init-param>
<param-name>http.parameter.logout.name</param-name>
<param-value>logout</param-value>
</init-param>
<init-param>
<param-name>fallback.location</param-name>
<param-value>/login.action?logout=true</param-value>
</init-param>
这告诉 Jespa 3 件事:
- 如果您在 URL 中看到注销参数,请注销。
- 如果你在 URL 中看到注销参数,请安装匿名身份
- 如果由于某种原因身份验证失败 - 转到登录表单并安装匿名身份
从这里我还向 notpermitted.vm 添加了一些代码,用于重定向到 logout.action,还向 login.vm 添加了一些代码,用于在注销时重定向到主页。这是一个临时解决方案,但 Ed 说他们将更新插件,以便不让已禁用的用户登录。