Ale*_*eld 5 java spring spring-security
我试图让我的spring + hibernate + spring-security和tiles2 - "HelloWorld"应用程序工作,遵循本指南(不幸的是它在德语).
我的问题是登录我的应用程序时收到"404"错误消息.重定向到登录页面按预期工作,但是当我点击登录按钮时,我无法访问" http:// localhost:8080/App/j_spring_security_check ".
我的web.xml看起来像这样:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/defs/applicationContext.xml
/WEB-INF/defs/applicationContext-security.xml
</param-value>
</context-param>
<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>
</filter-mapping>
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
和applicationContext-security.xml文件看起来这样......
<http use-expressions="true">
<intercept-url pattern="/index.html" access="permitAll" />
<intercept-url pattern="/timeout.html" access="permitAll" />
<intercept-url pattern="/redirect.html" access="permitAll" />
<intercept-url pattern="/media/**" access="permitAll" />
<intercept-url pattern="/includes/**" access="permitAll" />
<intercept-url pattern="/office/**" access="hasRole('ROLE_USER')" />
<intercept-url pattern="/office/admin/**" access="hasRole('ROLE_ADMIN')" />
<form-login login-page="/index.html"
authentication-failure-url="/index.html?login_error=1"
default-target-url='/office/kunden.html'
always-use-default-target='true'
/>
<logout logout-success-url="/index.html" />
<remember-me />
<session-management invalid-session-url="/index.html">
<concurrency-control max-sessions="2" error-if-maximum-exceeded="true" />
</session-management>
</http>
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="mysqldataSource"
authorities-by-username-query="select username, authority from benutzer where username = ?"
users-by-username-query="select username, password, enabled from benutzer where username = ?"/>
</authentication-provider>
</authentication-manager>
Run Code Online (Sandbox Code Playgroud)
数据库连接似乎没问题
如果有人能给我一个提示,我会很高兴,因为我已经做了很多谷歌搜索,但还没有找到解决方案.
我使用spring 3.1和tomcat 7.0.23
你的配置看起来没问题。可能出现 404 错误的一件事是如果default-target-url='/office/kunden.html'指向不存在的控制器或视图。
检查该 url/office/kunden.html是否有效 - 因此停用安全功能(只需添加<security:intercept-url pattern="/**" access="permitAll" />)并尝试。
另一件可能出错的事情是,该教程适用于 spring 3.0,但不是 spring 3.0。我没想到这是原因,但尝试一下并降级。
| 归档时间: |
|
| 查看次数: |
22585 次 |
| 最近记录: |