私のプログラムには次のコードがあります.Mavenと統合した後でコード品質チェックを行うSonarQube 5を実行しています。"UserProfile"をシリアライズ可能にするか、セッションに保存しないでください
しかし、Sonarは "UserProfile"をシリアライズ可能にするか、セッションに保存しないように要求しています。
なぜですか?
private void setUserProfileinSession(HttpServletRequest request,
Authentication authentication) {
List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>(
authentication.getAuthorities());
GrantedAuthority authority = authorities.get(0);
UserProfile userProfile = new UserProfile();
userProfile.setUserName(authentication.getName());
userProfile.setUserRole(authority.getAuthority());
HttpSession session = request.getSession();
session.setAttribute(EnumGlobal.USERPROFILE.getName(), userProfile);
if (logger.isDebugEnabled()) {
logger.info("JK SSO Role Set in Session by AuthenticationSuccessHandler:"
+ userProfile.getUserRole());
}
Facing problem in line 10 -- (EnumGlobal.USERPROFILE.getName(), userProfile)
public class UserProfile extends BaseBO {
String userName;
String userRole;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserRole() {
return userRole;
}
public void setUserRole(String userRole) {
this.userRole = userRole;
}
*このエラーを取り除くには?*、シリアル化可能にするか、セッションに保存しないでください。それはかなり明白ですね。 –