我有一个尝试使用Spring Security登录的GWT应用程序。当前,成功登录后,我将被重定向回“登录”页面。我猜这是因为我的弹簧配置和我缺乏弹簧安全知识。
在spring-security.xml中,我这样定义拦截器:
<security:http auto-config="true">
<security:intercept-url pattern="/login" access="permitAll" />
<security:intercept-url pattern="/**" access="isAuthenticated()" />
</security:http>
我猜测问题出在access = isAuthenticated()上,但我不确定。我希望它重定向到gwt页面/应用程序,它将基于返回的角色处理视图。我用这种方法制作了一个非常简单的gwt应用程序,并且有效。
我使用的是Spring生成的登录页面,而不是JSP。
spring-security.xml
<?xml version="1.0" encoding="UTF-8"?>
<b:beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:b="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
<!-- This is where we configure Spring-Security -->
<security:http auto-config="true">
<security:intercept-url pattern="/login" access="permitAll" />
<security:intercept-url pattern="/**" access="isAuthenticated()" />
</security:http>
<b:bean id="graplAuthentication" class="com.foo.rim.security.GraplAuthentication"/>
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider ref="graplAuthentication" />
</security:authentication-manager>
</b:beans>
答案 0 :(得分:0)
事实证明这是两件事。
1)我需要添加user-expressions =“ true”,这样它才能获取访问权限=
<security:http auto-config="true" use-expressions="true">
2)我有一个自定义用户Authentication类,但是忘记将Authenticated布尔值设置为true。这些都使其正常工作。