使用acegi验证登录,选择2周自动登录后来,整个工程都出现IllegalArgumentException异常提示信息为:
java.lang.IllegalArgumentException: SessionIdentifierAware did not return a Session ID (org.acegisecurity.ui.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null)
org.springframework.util.Assert.hasText(Assert.java:169)
org.acegisecurity.concurrent.SessionRegistryUtils.obtainSessionIdFromAuthentication(SessionRegistryUtils.java:51)
org.acegisecurity.concurrent.ConcurrentSessionControllerImpl.checkAuthenticationAllowed(ConcurrentSessionControllerImpl.java:90)
org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:189)
org.acegisecurity.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:45)
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:109)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:138)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)登录页面代码:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter"%>
<%@ page import="org.acegisecurity.ui.AbstractProcessingFilter"%> 
<%@ page import="org.acegisecurity.AuthenticationException"%>  
<html>
<body> 
1.用户john/john:可以访问hello_0.jsp、main.jsp<br>
2.用户tom/tom:可以访问main.jsp、hello_0.jsp、hello_1.jsp、updateForum.jsp<br>
<c:if test="${not empty param.login_error}">
   <font color="red">用户名或密码错误。</font>
</c:if>
<form name="form1" method="post" action="j_acegi_security_check">
用户名:<input type="text" name="j_username"/><br/>

密 码:<input type="password" name="j_password"/><br/>
 <input type="checkbox" name="_acegi_security_remember_me">5天内不用再登录<br/>
 <input type="submit" value="登录"/>
</form>
</body>
</html>
自动登录配置:<bean id="rememberMeProcessingFilter"
class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
<property name="authenticationManager"
ref="authenticationManager" />
<property name="rememberMeServices" ref="rememberMeServices" />

</bean>
        <bean id="rememberMeServices"
class="org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
<property name="userDetailsService" ref="userDetailsService"/> 
<property name="tokenValiditySeconds" value="60*60*24*14" />
<property name="key" value="baobaotao" />
</bean>
<bean id="rememberMeAuthenticationProvider"             
   class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">          
<property name="key" value="baobaotao"/>      
</bean>  
请教高手了.谢谢