我正在使用与Struts2,Spring和Hibernate集成的Spring安全框架。
<David:http auto-config="true" access-denied-page="/accessDenied.html">
<!-- Don`t set any role restriction on login.jsp -->
<David:intercept-url pattern="/login.jsp"
access="IS_AUTHENTICATED_ANONYMOUSLY" />
<!-- Restrict access to All other pages -->
<David:intercept-url pattern="/admin.jsp"
access="ROLE_ADMIN" />
<!-- Set the login page and what to do if login fails -->
<David:form-login login-page="/login.jsp"
authentication-failure-url="/accessdenied.html?login_error=1"
default-target-url="/index.jsp"/>
<David:logout logout-success-url="/index.jsp" />
</David:http>
<!-- Specify login examnination strategy -->
<David:authentication-provider>
<David:password-encoder hash="md5" />
<David:jdbc-user-service
data-source-ref="dataSource"
users-by-username-query="select username, password, status as enabled from user where username=?"
authorities-by-username-query="select u.username,r.name as authority
from user u
join user_role ur
on u.id=ur.user_id
join role r
on r.id=ur.role_id
where u.username=?" />
</David:authentication-provider>
这是我的安全配置页面。
问题是,即使密码和帐户都正确,登录表单页面也不会根据我输入的内容指向成功页面或失败页面。
但我100%确定Spring安全框架正在运行。
因为,我无法通过在url address列中键入URL来直接访问管理页面。 我必须提供正确的密码和用户名 然而,问题是它不能自动直接........................
为什么会这样?
由于
答案 0 :(得分:0)
您可以尝试设置 index.jsp 和 /accessdenied.html 的权限,例如 USER_ROLE 和 IS_AUTHENTICATED_ANONYMOUSLY 分别?