Spring mvc 使用Spring重定向到sso/login的单页应用程序上的KeyClope身份验证:未找到页面
我使用extjs和Spring 4.3.4将KeyClope身份验证添加到单页应用程序中 当我尝试登录app_url时,它会将我重定向到app_url/sso/login。因此,我没有找到404页 它应该重定向到KeyClope登录页面 keydape.json:Spring mvc 使用Spring重定向到sso/login的单页应用程序上的KeyClope身份验证:未找到页面,spring-mvc,authentication,single-page-application,keycloak,Spring Mvc,Authentication,Single Page Application,Keycloak,我使用extjs和Spring 4.3.4将KeyClope身份验证添加到单页应用程序中 当我尝试登录app_url时,它会将我重定向到app_url/sso/login。因此,我没有找到404页 它应该重定向到KeyClope登录页面 keydape.json: { "realm" : "realm_name", "resource" : "resource_name", "aut
{
"realm" : "realm_name",
"resource" : "resource_name",
"auth-server-url" : "keycloak_auth_url",
"principal-attribute": "preferred_username",
"public-client": true,
"enable-cors" : false
}
web.xml中的配置:
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
org.springframework.security.web.session.HttpSessionEventPublisher
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
要求
钥匙斗篷配置:
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider ref="keycloakAuthenticationProvider" />
</security:authentication-manager>
<security:http use-expressions="true" entry-point-ref="keycloakAuthenticationEntryPoint">
<security:intercept-url pattern="/index.html" access="authenticated"/>
<security:intercept-url pattern="/" access="permitAll"/>
<security:logout logout-success-url="/logout.php"/>
<security:csrf disabled="true"/>
<security:headers>
<security:frame-options policy="SAMEORIGIN" />
</security:headers>
</security:http>
<bean id="adapterDeploymentContext" class="org.keycloak.adapters.springsecurity.AdapterDeploymentContextFactoryBean">
<constructor-arg value="/WEB-INF/spring/keycloakconfig/keycloak.json" />
</bean>
<bean id="keycloakAuthenticationEntryPoint" class="org.keycloak.adapters.springsecurity.authentication.KeycloakAuthenticationEntryPoint">
<constructor-arg name="adapterDeploymentContext" ref="adapterDeploymentContext" />
</bean>
<bean id="keycloakAuthenticationProvider" class="org.keycloak.adapters.springsecurity.authentication.KeycloakAuthenticationProvider" />
<bean id="keycloakPreAuthActionsFilter" class="org.keycloak.adapters.springsecurity.filter.KeycloakPreAuthActionsFilter" />
<bean id="keycloakAuthenticationProcessingFilter" class="org.keycloak.adapters.springsecurity.filter.KeycloakAuthenticationProcessingFilter">
<constructor-arg name="authenticationManager" ref="authenticationManager" />
</bean>
<bean id="keycloakLogoutHandler" class="org.keycloak.adapters.springsecurity.authentication.KeycloakLogoutHandler">
<constructor-arg ref="adapterDeploymentContext" />
</bean>
<bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
<constructor-arg name="logoutSuccessUrl" value="/" />
<constructor-arg name="handlers">
<list>
<ref bean="keycloakLogoutHandler" />
<bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
</list>
</constructor-arg>
<property name="logoutRequestMatcher">
<bean class="org.springframework.security.web.util.matcher.AntPathRequestMatcher">
<constructor-arg name="pattern" value="/sso/logout**" />
<constructor-arg name="httpMethod" value="GET" />
</bean>
</property>
</bean>