2011-05-04 52 views
7

我想用户帐户添加到我的MVC 3网页app.For每个用户帐户,我想加一个对应的用户数据,与通常的电子邮件地址和联系信息等也可能会在用户忘记登录凭据时添加一些安全问题。Asp.net MVC 3用户帐户与配置文件

我读过有关使用所提供的ASP.net配置文件选项,也有一些人建议使用自己的会员表,因为它更快retrieveing用户个人资料信息,特别是当用户名单不断增加一些信息。

谁能给我哪种方法的一些见解使用,并且也指出我的任何教程向我展示如何实现MVC 3 Web应用程序中的用户帐户和配置的方向是什么?

非常感谢 d

回答

5

如果你不打算要查询什么是内置在配置文件以外的这些表,坚持使用默认的开箱角色/配置文件。它为定制配置文件提供了一些额外的工作,故障排除和开发。它不是那么辛苦......它只是额外的工作。如果你没有特别的需求,可以使用内置的功能。至于性能,请看你将要运行的内容。你是否需要从你正在运行的硬件中挤出所有的性能?大多数地方没有,并且在服务器上有多个站点几乎没有接触到磁盘和CPU,在这种情况下(正如相当典型的情况),您可以使用内置的所有设备。

要实施帐户,请创建一个新的mvc3项目,在解决方案资源管理器中的视觉工作室点击右上角的最后一个图标“asp.net配置”并管理

然而,在asp.net中实现自定义表提供程序有很多教程,就像mvc一样,因为mvc只是一个asp.net应用程序。

+0

嗨亚当,我可能会想自定义配置文件,例如添加用户的图片URL,还可以使用个人资料数据,如用户名,并在网站的其他地区用户的图片。是否有链接到自定义配置文件教程?感谢 – davey 2011-05-04 03:51:23

+1

见:http://stackoverflow.com/questions/834166/implementing-custom-profile-provider-in-asp-net-mvc 和 http://johnnycoder.com/blog/2010/04/01/ asp-net-mvc-custom-profile-provider/ – 2011-05-04 04:15:49

+0

感谢您的链接亚当。我已经快速浏览过这篇文章,但我正在寻找更多的一步一步教程,并提供更多解释。另外海报没有使用EF,他实例化了一个SQL conn并调用了一个sproc。 – davey 2011-05-04 05:01:44

5

ProfileBase是你应该看一下类。

从我的网站的一个拷贝一些示例代码:

var profile = ProfileBase.Create(model.UserName); 
profile.SetPropertyValue("Identity.FirstName",model.FirstName); 
profile.SetPropertyValue("Identity.LastName", model.LastName); 
profile.SetPropertyValue("Identity.FullName", model.FullName); 
profile.SetPropertyValue("Contact.Email", model.Email); 
profile.SetPropertyValue("Contact.Phone", model.PhoneNumber); 
profile.Save(); 

希望这是对你有用。