Spring MVC 3.0 基本认证实现

Posted

技术标签:

【中文标题】Spring MVC 3.0 基本认证实现【英文标题】:Spring MVC 3.0 Basic Authentication Implementation 【发布时间】:2011-05-03 08:04:37 【问题描述】:

我目前正在使用来自 ASP.NET 的 Spring MVC 框架转换我的 Web 应用程序 tn Java(虽然是学习它的好方法 -:))我需要在我的应用程序中实现身份验证:请告诉我我的方法是否良好并且足够专业,如果不是最好的做法是什么:

首先,我正在编写 User 类,它包含有关当前用户名/姓/电子邮件/id/等的所有信息......

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

///Settters and Getters


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

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

class DlSession implements Serializable
private User currentUser;

public DlSession()

// getters and setters:

当用户提交他的用户/通行证时,我正在验证凭据,如果用户存在,则将所有用户数据检索到用户类的实例。然后我将 Session 中的 currentUser 设置为我检索到的用户:

mySesison.setCurrentUser(user);

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

if (mySession.getcurrentUser() == null)
//return unauthenticated 
else 
//return authenticated

从我刚刚做的系统中注销用户:

mySession.setcurrentUser(null);

这种方法正确吗?任何建议都更受欢迎。 :)

【问题讨论】:

【参考方案1】:

如果您已经在使用 SpringMVC,为什么不也使用SpringSecurity (manual)? 它内置了您设置form-based- or basic-authentication 所需的所有组件。而且,您将来可以轻松添加新的身份验证方法。

编辑:另请参阅this question,了解使用 Spring Security 的可能解决方案。

【讨论】:

以上是关于Spring MVC 3.0 基本认证实现的主要内容,如果未能解决你的问题,请参考以下文章

关于spring mvc 3.0注解,注入失败的问题

Spring的设计理念和整体架构

java之spring mvc之数据处理

springmvc 3.0啥时间发部

Spring MVC 从 2.5 到 3.0

Spring+Spring mvc+Mybatis整合教程(基于Maven)