gpt4 book ai didi

cas - 如何在 CAS 5 中启用基于文件的身份验证

转载 作者:行者123 更新时间:2023-12-03 09:09:47 29 4
gpt4 key购买 nike

我在本地计算机上建立了一个独立的 CAS 5 实例,用于修补/黑客攻击,并尝试将其设置为独立的 WAR 文件,并通过简单的基于文件的身份验证部署到 Tomcat。

从 WAR Overlay 模板 ( https://github.com/apereo/cas-overlay-template ) 开始,我添加了以下依赖项,如 https://apereo.github.io/cas/5.0.x/installation/Whitelist-Authentication.html#example-password-file 所示。 .

    <dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-generic</artifactId>
<version>${cas.version}</version>
</dependency>

然后,我在 src/main/resources 中创建了一个简单的 passwd.txt 文件,其中包含以下内容。

bob::bob
alice::alice

最后,我将基于文件的属性(参见 https://apereo.github.io/cas/5.0.x/installation/Configuration-Properties.html#file-authentication )添加到 etc/cas/config/cas.properties

cas.authn.file.filename=classpath:passwd.txt
cas.authn.accept.users=
cas.authn.file.passwordEncoder.type=NONE
cas.authn.file.separator=::

当我部署应用程序时,应用程序启动,但登录表单中接受的唯一用户是 casuser/Mellon (默认值)。我什至尝试将属性 cas.authn.policy.any.tryAll=true 添加到 cas.properties 文件,但 Alice 和 Bob 都无法识别。

我应该在不同的地方设置这些选项吗?我还需要做些什么才能启用基于文件的身份验证吗?

最佳答案

在这个问题上花费了太多时间之后,我想避免其他人头痛。这里的关键是我正在修改/etc/cas/config/cas.properties 。当编译独立的 WAR 以部署在 servlet 容器上时,这并没有达到预期的效果。我的猜测(未经验证)是,如果您正在创建可执行 JAR,则其工作方式会有所不同。

我最终做的是注释掉 /etc/cas/config/cas.properties 中的所有条目并将它们移至/src/main/resources/application.properties 。这产生了效果,但导致了一些关于 org.springframework.beans.factory.BeanCreationException: Cannot create binder factory, no META-INF/spring.binders resources found on the classpath 的模糊错误。 .

我遵循了 https://groups.google.com/a/apereo.org/d/msg/cas-user/doLj6Aa10u8/2o9urrQpCwAJ 上的建议并将默认配置复制到 /src/main/resources/application.properties ,添加cas.authn.*上面的选项,重建,重新部署,一切正常。

似乎设置独立 WAR 覆盖的最佳方法是采用提供的模板,从 CAS 源代码(https://github.com/apereo/cas/blob/958a9fbb87fb728875a7a35ee45124e818f90b17/webapp/resources/application.properties 在撰写本文时)复制默认设置,添加由文档,然后添加/修改属性以获得您想要的效果。

关于cas - 如何在 CAS 5 中启用基于文件的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43397829/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com