我们正在使用带有 JSF 的 spring security 3.1 并且一切似乎都在工作,除了我假设默认情况下发生的一件事。我在登录前和登录后期待不同的会话 ID,但在我的情况下它是相同的 ID。这是我的配置:
<global-method-security pre-post-annotations="enabled" />
<http auto-config="true" create-session="always" use-expressions="true" once-per-request="false" authentication-manager-ref="authenticationManager">
<intercept-url pattern="/blah/**" access="isAuthenticated()" />
<intercept-url pattern="/**" access="permitAll" />
<form-login login-page="/loginpage.xhtml"
default-target-url="/blah"
/>
<session-management session-fixation-protection="migrateSession"/>
</http>
<ldap-server url="url" manager-dn="cn=blah.." manager-password="password"/>
<authentication-manager id="authenticationManager" alias="authenticationManager">
<ldap-authentication-provider
user-search-filter="(uid={0})"
user-search-base="ou=Users"
group-search-filter="(uniqueMember={0})"
group-search-base="ou=groups"
group-role-attribute="cn"
role-prefix="none">
</ldap-authentication-provider>
<ldap-authentication-provider
user-search-filter="(cn={0})"
user-search-base="ou=Users"
group-search-filter="(uniqueMember={0})"
group-search-base="ou=groups"
group-role-attribute="cn"
role-prefix="none">
</ldap-authentication-provider>
</authentication-manager>
我之前没有这个,但添加它并没有任何区别(也尝试过 newSession):
<session-management session-fixation-protection="migrateSession"/>
我也没有
create-session="always"
这也没有任何区别。
您能帮我弄清楚为什么没有创建新会话吗?