java - MitreId 客户端身份验证过滤器配置

标签 java filter struts openid

我对 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/

相关文章:

java - public<T> void run (T object ) { } 是什么意思?

Java 允许大小写

java - 我想用逗号分隔符按列拆分 SQL 查询。但有些数据类型里面有逗号。需要排除那些逗号

javascript - 为什么未定义被添加到我的过滤列表中?

在Google数据工作室中跨页面过滤

java - 无法创建消息 : incorrect content-type for SOAP version. 已获取文本/xml; charset=UTF-8,但应为 application/soap+xml

java - strut 中的组合框

java - java中的最小时间锁

google-apps-script - 向数据透视表添加过滤器

java - Struts2 CRUD 删除不起作用