|
|
@@ -26,6 +26,7 @@ import org.springframework.security.access.SecurityMetadataSource;
|
|
|
import org.springframework.security.access.intercept.AbstractSecurityInterceptor;
|
|
|
import org.springframework.security.access.intercept.InterceptorStatusToken;
|
|
|
import org.springframework.security.authentication.AuthenticationManager;
|
|
|
+import org.springframework.security.authentication.RememberMeAuthenticationToken;
|
|
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
|
|
import org.springframework.security.core.Authentication;
|
|
|
import org.springframework.security.core.GrantedAuthority;
|
|
|
@@ -48,9 +49,9 @@ import com.uas.platform.b2b.service.EnterpriseService;
|
|
|
import com.uas.platform.b2b.service.RoleService;
|
|
|
import com.uas.platform.b2b.service.SigninLogService;
|
|
|
import com.uas.platform.b2b.service.UserService;
|
|
|
-import com.uas.platform.b2b.support.TrustedAuthenticationToken;
|
|
|
import com.uas.platform.b2b.support.SecurityConstant;
|
|
|
import com.uas.platform.b2b.support.SystemSession;
|
|
|
+import com.uas.platform.b2b.support.TrustedAuthenticationToken;
|
|
|
import com.uas.platform.b2b.support.UserCreater;
|
|
|
import com.uas.platform.core.model.Constant;
|
|
|
import com.uas.platform.core.util.AgentUtils;
|
|
|
@@ -177,7 +178,8 @@ public class SecurityInterceptor extends AbstractSecurityInterceptor implements
|
|
|
else {// login by remember-me
|
|
|
// spring remember-me通过客户端的SPRING_SECURITY_REMEMBER_ME_COOKIE和数据库的PERSISTENT_LOGINS匹配
|
|
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
|
|
- if (authentication != null && authentication.isAuthenticated()) {
|
|
|
+ if (authentication != null && authentication.isAuthenticated()
|
|
|
+ && RememberMeAuthenticationToken.class.isAssignableFrom(authentication.getClass())) {
|
|
|
User authedUser = loginByRememberMe(request, authentication);
|
|
|
request.getSession().setAttribute("user", authedUser);
|
|
|
SystemSession.setUser(authedUser);
|
|
|
@@ -211,7 +213,7 @@ public class SecurityInterceptor extends AbstractSecurityInterceptor implements
|
|
|
authedUser.setIp(AgentUtils.getIp(request));
|
|
|
// 记录登录日志
|
|
|
SitePreference preference = getDefaultSitePreferenceForDevice(this.deviceResolver.resolveDevice(request));
|
|
|
- signinLogService.save(new SigninLog(authedUser, preference, AgentUtils.getIp(request), true));
|
|
|
+ signinLogService.save(new SigninLog(authedUser, preference, true));
|
|
|
return authedUser;
|
|
|
}
|
|
|
|