0

我尝试在 Websphere 8 上运行 LDAP 和 Spring。它以某种方式做到了,但它不会将任何请求转发到我的 login.xhtml。

意思是,看起来您已登录,但您无法单击该页面上的任何内容,并且您不会被转发到登录页面。

如果我直接调用它(/faces/login.xhtml),登录然后单击,一切都按预期工作,所以只是我的应用程序没有将我转发到所需的登录页面。

希望你们有一个好主意。

我的 web.xml 看起来像这样:

<!-- removed non-relevant parts-->
<welcome-file-list>
    <welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<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>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>

我的 applicationSecurity.xml 看起来像这样:

<security:http pattern="/faces/ressources/**" security="none"/>
<security:http auto-config="true" pattern="/**">
  <!-- Login pages -->
  <security:form-login login-page="/faces/login.xhtml" default-target-url="/faces/index.xhtml"
                       login-processing-url="/faces/j_spring_security_check"
                       authentication-failure-url="/faces/login.xhtml" />
  <security:logout logout-success-url="/faces/login.xhtml" />
  <!-- Security zones -->
  <!-- secured -->
  <security:intercept-url pattern="/faces/index.xhtml" access="ROLE_APP_QPA_ADMIN,ROLE_APP_QPA_USER" />
  <security:intercept-url pattern="/faces/datadictionary/**" access="ROLE_APP_QPA_ADMIN,ROLE_APP_QPA_USER" />
  <security:intercept-url pattern="/faces/templates/**" access="ROLE_APP_QPA_ADMIN,ROLE_APP_QPA_USER" />
</security:http>

我不知道我还能做什么。如果这很重要,我使用 Spring 作为共享库。

4

0 回答 0