【发布时间】:2015-02-24 17:44:20
【问题描述】:
我正在尝试找出其他人的代码.... 这样做是从用户那里获取用户名和密码,并从数据库表中检查用户名和密码是否正确...... 他的 DataLayer 看起来像这样:
public class UserRepository : IUser
{
Context con = new Context();
public UserDTO GetUser(string user)
{
User u = con.Users.Find(user);
UserDTO User = new UserDTO();
if (u != null)
{
User.Username = u.UserName;
User.Password = u.Password;
}
return User;
}
}
用户界面:
public interface IUser
{
UserDTO GetUser(string user);
}
ServiceLayer 如下所示:
public class UserService : IUserService
{
IUser data;
public UserService(IUser data)
{
this.data = data;
}
public bool Authenticate(string user,string pwd)
{
UserDTO u = data.GetUser(user);
if (u.Username == user && u.Password == pwd)
return true;
else
return false;
}
}
IuserService 接口:
public interface IUserService
{
bool Authenticate(string user, string pwd);
}
而 MVC 控制器看起来像这样:
public class HomeController : Controller
{
public ActionResult Log()
{
return View();
}
IUserService ser;
public HomeController()
{
ser = new UserService(new UserRepository());
}
public ActionResult Login(Models.User user)
{
if (ser.Authenticate(user.UserName, user.Password))
{
ViewBag.Message = "Success";
}
else
ViewBag.Message = "UnSuccess";
return View();
}
我无法真正理解他在这个 Controller Constructor (ser = new UserService(new UserRepository())) 中做了什么,但代码运行良好...... 他想做什么,他是想将此控制器连接到 DataLayer(UserRepository 类)吗?
谢谢!!!
【问题讨论】:
标签: asp.net-mvc entity-framework entity-framework-5