【问题标题】:Spring Security x509 successful authenticationSpring Security x509 认证成功
【发布时间】:2011-04-04 12:41:39
【问题描述】:

在使用 x509 时有没有办法设置默认目标?例如,如果我使用常规形式的身份验证,我会得到类似:

<security:form-login login-page="/login" always-use-default-target="true" authentication-failure-url="/login?error=1" default-target-url="/summarylogin"/>

以下是我的配置设置:

<security:http auto-config="true" use-expressions="true" entry-point ref="forbiddenAuthEntryPoint">
        <security:x509 subject-principal-regex="CN=(.*?)," user-service-ref="dashboardUserDetailsService" />
        <security:intercept-url pattern="/static/**" filters="none"/>
        <security:intercept-url pattern="/**" access="hasAnyRole('ADMIN', 'USER')" />
        <security:session-management invalid-session-url="/login" />
        <security:session-management>
            <security:concurrency-control max-sessions="5" error-if-maximum-exceeded="true" />
        </security:session-management>
    </security:http>

    <security:authentication-manager>
        <security:authentication-provider user-service-ref="dashboardUserDetailsService">
        </security:authentication-provider>
    </security:authentication-manager>

【问题讨论】:

  • 不确定你在问什么 - 如果设置了 X509Auth,那么它将是默认设置。也许澄清这个问题。

标签: java spring spring-security x509certificate x509


【解决方案1】:

使用 form-auth,您可以获得用户在身份验证之前访问的登录页面。因此,您指定 default-target - 成功验证后将用户发送到哪里。

但是使用客户端 X.509 证书身份验证,您没有登录页面。用户在他的浏览器中输入一些 url,容器检查他的证书,成功后允许用户访问他输入的 url。

如果您想显示类似“问候”页面的内容,应该始终在登录时显示,您可以编写 servlet 过滤器,它会检查会话中的某些标志,如果未设置标志,则将用户重定向到“问候”页面。

【讨论】:

    猜你喜欢
    • 2014-10-26
    • 1970-01-01
    • 2022-09-23
    • 2021-12-08
    • 2021-01-27
    • 2021-02-17
    • 2019-06-03
    • 2019-11-30
    • 2023-03-27
    相关资源
    最近更新 更多