Spring MVC 3.0基本身份验证实现

dan*_*nik 3 java authentication spring-mvc spring-security java-ee

我正在使用ASP.NET中的Spring MVC框架将我的Web应用程序转换为Java(虽然可以学习它的好方法 - :))我需要在我的应用程序中实现身份验证:请告诉我,如果我的方法是好的和专业的,如果不是,最好的做法是什么:

首先,我正在写User class,其中包含有关当前用户firstname/lastname/email/id/etc的所有信息....

class User implements Serializable{
private String firstName;
private String lastName;
private Long id;
private String email;

///Settters and Getters

}
Run Code Online (Sandbox Code Playgroud)

我正在实现名为DlSession的类并在sesison级别上实现它.

<bean id="MySession" class="DlSession" scope="session">
<aop:scoped-proxy/>

class DlSession implements Serializable{
private User currentUser;

public DlSession(){}

// getters and setters:
}
Run Code Online (Sandbox Code Playgroud)

当用户提交他的用户/通行证时,我正在验证凭证,以及用户是否存在将所有用户数据检索到User类的实例.然后我将Session中的currentUser设置为我检索到的用户:

mySesison.setCurrentUser(user);
Run Code Online (Sandbox Code Playgroud)

为了验证身份验证,我需要检查:

if (mySession.getcurrentUser() == null)
//return unauthenticated 
else 
//return authenticated
Run Code Online (Sandbox Code Playgroud)

要从系统注销用户,我只是这样做:

mySession.setcurrentUser(null);
Run Code Online (Sandbox Code Playgroud)

这种方法是否正确?任何建议都受到欢迎.:)

Nee*_*aks 6

如果您已经在使用SpringMVC,为什么不使用SpringSecurity(手册)?它具有内置的所有组件,您需要设置基于表单的身份验证或基本身份验证.而且,您可以在将来轻松添加新的身份验证方法.

编辑:使用Spring Security 也可以看到这个问题的可能解决方案.