2

我对 Spring 很陌生,对 java 也有点陌生,所以我可能会遗漏一些明显的东西。我们为 UAT 和 prod 部署到 WAS,但由于我们的应用程序非常轻量级,因此开始转向嵌入式码头。

Soooo ...我们一直在破解我们的 web.xml 以注释掉<filter>标签并在应用程序上下文中注释掉 for spring security.xml。不理想,因为我们使用 maven。因此,作为一项学习练习,我试图让这个工作井井有条,并且在这里阅读了很多博客和问题,坦率地说,我感到困惑。

我的第一次尝试是离开<filter>web.xml 并profile="jettyLocal"使用http auto-config="true" security="none". 然后我从 RTC 开始使用-Dspring.profiles.active="JettyLocal". 这似乎没有任何效果。即不管有没有,我仍然得到一连串的异常-“没有身份验证管理器”和创建spring filterChains bean的错误。

是在处理之前加载 web.xml 的问题-Dspring..吗?我问错问题了吗?如果你能给我指点,我很高兴 RTFM。我有 Spring in Action 3.0 但看不到任何相关内容,可能是因为我缺乏经验。

eta:澄清,因为我不清楚。我让应用程序在具有 AD 安全性的外部 WAS 上与 Spring-security 很好地配合使用,这是一个带有用户服务标签的本地主机 WAS,它提供了一个由命名配置文件 bean 管理的硬编码用户名。我正在努力的是保留这 2 个,但没有安全性来使用 jetty:run 运行快速测试。感谢您迄今为止的建议。一切都很好。

eta 2:我能找到的所有示例都假设我将使用登录页面等测试整个 Web 应用程序。但我想使用 jetty:run 快速测试可以使用简单测试工具响应 Web 调用的类或包.

eta 3:通过添加到 spring-security.xml 中,我已经成功地接近了我想要的东西

<beans:beans profile="dev">
    <authentication-manager>
        <authentication-provider>
            <user-service>
                <user name="xxx" password="xxx" authorities="xxx" />
            </user-service>
        </authentication-provider>
    </authentication-manager>
</beans:beans>

并使用 -Dspring.profiles.active="dev" 启动码头

4

1 回答 1

1

要使您的应用程序的某些部分不安全,只需对 http 模式不应用安全性,我的应用程序上下文的一部分如下所示:

 <security:http pattern="/css/**" security="none" /> 
于 2012-10-16T12:34:46.543 回答