Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Security x509成功身份验证_Java_Spring_Spring Security_X509certificate_X509 - Fatal编程技术网

Java Spring Security x509成功身份验证

Java Spring Security x509成功身份验证,java,spring,spring-security,x509certificate,x509,Java,Spring,Spring Security,X509certificate,X509,使用x509时有没有办法设置默认目标?例如,如果我使用的是正则形式的auth,我会有如下内容: <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

使用x509时有没有办法设置默认目标?例如,如果我使用的是正则形式的auth,我会有如下内容:

<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>

使用form auth,用户可以在身份验证之前访问登录页面。所以,您可以指定默认目标—成功身份验证后将用户发送到哪里

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


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

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