2011-10-17 52 views
1

我想开发一个MVC 3应用程序,它存储用户数据并允许它们登录,然后查看该数据,查看朋友数据。MVC 3自定义登录计划

问题似乎是,MVC限制了您使用模板文件的默认登录。

有谁知道一个很好的教程或书籍,它着重于为数据库开发自定义登录方案。例如,我希望能够让用户登录并将他们的信息(加密)存储在数据库中。

在此先感谢!

回答

2

您应该为您的验证系统使用ASP.NET Membership &表单身份验证。

这很容易到setup in conjunction with a SQL Server DB,建立了安全散列或加密密码的机制,使用基于cookie的身份验证令牌来识别用户,并且它具有良好集成到ASP中的基于角色的基于访问控制(RBAC)的系统。净。例如,在web.config中可以使用RBAC来拒绝访问您站点的路径:

例如,

<configuration> 
<location path="Admin"> 
    <system.web> 
     <authorization> 
      <allow roles="Administrator" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</location> 
</configuration> 

你也有[授权]属性,你可以洒在你的操作方法:如果你想与任何角色一个非常简单的解决方案

[Authorize(Roles="Administrator")] 
public ActionResult AdminPage() 
{ 
    return View(); 
} 

,也许没有SQL Server数据库,你也可以直接使用不带ASP.NET成员资格的ASP.NET Forms Authentication。但是,对于任何真实世界的应用程序,ASP.NET Membership都是更完整的解决方案。

请注意,您不必在帐户控制器或帐户模型中使用默认MVC3应用程序中的验证代码。这些在我看来是过分的。

无论你做什么,都不要重新发明轮子。基于身份验证和基于角色的访问控制并不是微不足道的,这就是为什么你应该使用ASP.NET中的内置解决方案。请参阅this MVC tutorial

+0

好的,所以我有一个数据库架构设置。如何合并在制作mvc3应用程序时默认创建的默认帐户模型。当用户创建一个帐户(使用MVC 3中的默认帐户设置)时,我希望用户帐户成为我数据库关系中的主要帐户。那有意义吗? – Aziz