相关疑难解决方法(0)

如何使用J2eePreAuthenticatedProcessingFilter和自定义身份验证提供程序?

我希望我的Spring应用程序尝试两种预身份验证方法(SiteminderJava EE容器身份验证)。

  1. 如果这些过滤器中的任何一个都找到了用户名-我想对照我的用户数据库检查该用户名,并根据我在数据库中看到的内容分配角色。(我有一个AuthenticationUserDetailsS​​ervice的实现,该实现为我完成。)
  2. 如果不是,请向用户显示登录页面。根据我的用户数据库检查他们在表单中输入的凭据。

Siteminder集成正在运行。登录表单也可以使用。我的问题是Java EE的预身份验证。它永远不会踢。

我的applicationContext-security.xml:

<!-- HTTP security configurations -->
<sec:http auto-config="true" use-expressions="true">
    <sec:form-login login-processing-url="/resources/j_spring_security_check" always-use-default-target="true" default-target-url="/" login-page="/login"
        authentication-failure-url="/login?login_error=t" />
    <sec:logout logout-url="/resources/j_spring_security_logout" />
    <sec:access-denied-handler error-page="/accessDenied" />
    <sec:remember-me user-service-ref="customUserDetailsService" token-validity-seconds="86400" key="OptiVLM-VaultBalance" />
    <sec:custom-filter position="PRE_AUTH_FILTER" ref="siteminderFilter"/>
    <sec:custom-filter after="PRE_AUTH_FILTER" ref="jeePreAuthenticatedFilter"/>

    <!-- various intercept-url elements here, skipped for brevity -->
</sec:http>

<!-- Authentication Manager -->
<sec:authentication-manager alias="authenticationManager">
    <!-- J2EE container pre-authentication or Siteminder -->
    <sec:authentication-provider ref="customPreAuthenticatedAuthenticationProvider" />
    <!-- Default provider -->
    <sec:authentication-provider user-service-ref="customUserDetailsService" />
</sec:authentication-manager>

<!-- Siteminder …
Run Code Online (Sandbox Code Playgroud)

websphere spring-security

5
推荐指数
1
解决办法
7464
查看次数

标签 统计

spring-security ×1

websphere ×1