我对 struts 环境相当陌生,我一直在寻找这种东西,但在其他地方找不到它。 我的问题是我需要配置 OIDAuthenticationFilter。虽然 MitreId 网站上有一个示例,但我似乎无法将其转换为我正在使用的框架 struts。
我所看到的示例中使用的是某种 Spring Security,我不确定它是如何工作的,但我了解它在做什么/配置:
https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/wiki/Client-configuration
代码太大,因此我不会将其粘贴到此处...
在我的代码中,web.xml 到目前为止具有以下内容:
<filter>
<filter-name>AuthenticationFilter</filter-name>
<filter-class>com.something.AuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthenticationFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
并且身份验证过滤器类正在扩展 OIDAuthenticationFilter:
public class AuthenticationFilter extends OIDCAuthenticationFilter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
}
}
我知道如何在 struts 中使用它并在 web.xml 中设置其余部分,但我不知道如何将示例正在做什么或它正在做什么转换为我正在做的方式。正如我所看到的,许多东西都被赋予了值,许多类都在示例中设置了参数。
谢谢:)
最佳答案
经过几天的研究,我分析了给定链接中的过滤器配置。我得出的结论是,我所要做的就是实例化配置过滤器所需的对象,最后在过滤器中设置对象。这看起来类似于使用 spring security 的链接中的配置。但当然,我会使用 java,而不是 beans。
最后的样子是这样的:
this.setAuthenticationManager(new OAuth2AuthenticationManager());
this.setIssuerService(new StaticSingleIssuerService());
this.setServerConfigurationService(new StaticServerConfigurationService());
this.setClientConfigurationService(new StaticClientConfigurationService());
this.setAuthRequestOptionsService(new StaticAuthRequestOptionsService());
this.setAuthRequestUrlBuilder(new PlainAuthRequestUrlBuilder());
从这里开始,只需执行
this.get....();
然后,您将能够获取上面创建的新对象,并根据给出的链接进行配置,因为所有内容都有设置和获取。
我认为这不会那么简单,因为这是我第一次处理过滤器,而且它们听起来比实际更复杂。
关于java - MitreId 客户端身份验证过滤器配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27188424/