mvc*_*00b 6 sql asp.net asp.net-mvc asp.net-membership user-profile
我以前做过MVC,但我是ASP和ASP MVC的新手.到目前为止,我真的很喜欢ASP MVC为我提供的轻松,但我无法弄清楚如何更好地控制用户.默认情况下,MVC提供最小的用户注册表单.我看了很多,但我还有两个问题:
如何使用户数据库成为项目中的本地数据库?我认为SQLEXPRESS用于存储用户值,看起来像是一个神奇的过程.我怎么去魔法 - 如果这个?我想对这个数据库的位置有更多的控制权.
这导致另一个问题:如何扩展用户?我一直在读Profiles,但我仍然对一些事情感到困惑.如何准备个人资料并将其与用户链接?什么作为外键?而且,在我的控制器中,我如何访问用户的各个部分,如用户名,电子邮件,甚至从名字,姓氏,姓名等个人资料(虽然我猜有一次当我有个人资料的数据库和本地的用户数据库时,我可以运行用于检索数据的sql命令)
我非常感谢对ASP.NET的正确资源和/或最佳实践的一些指示
我将首先阅读这篇关于扩展ASP.NET Membership API的官方微软文章.它讨论了创建额外的表来存储有关用户的其他信息.
会员数据库
创建其他表
这部分实际上非常简单,包括几个简短的步骤:
uniqueidentifier列作为主键,并将外键添加到aspnet_Users表这里有一些使用示例
将此代码段添加到负责个人资料/帐户信息的存储库中.
public aspnet_User GetUser()
{
MembershipUser user = Membership.GetUser();
return db.aspnet_Users.SingleOrDefault(u => u.UserId == user.ProviderUserKey);
}
Run Code Online (Sandbox Code Playgroud)
然后在模型中,您可以获取用户并访问存储在UserProfiles表中的其他信息.
AccountRepo accountRepo = new AccountRepo();
aspnet_User user = accountRepo.GetUser();
string Address = user.UserProfile.Address; // bingo!
Run Code Online (Sandbox Code Playgroud)
这就是它!
这显然是一个简单的示例,您应该检查用户是否为null,并且您还可以创建一个类,负责返回有关用户的必要信息,实现缓存等.
我将从这里开始:
4GuysFromRolla的 Scott Mitchell 还提供了一个很棒的文章系列(18 篇文章!!!)。
ASP.NET 成员资格模型被设计为具有可插入的体系结构。您可以编写自己的最适合您需求的 MembershipProvider 实现。
即使您在网上找到的大多数示例都涉及 ASP.NET Web 表单,但与 MVC 一起使用时也只有非常小的差异。
| 归档时间: |
|
| 查看次数: |
5874 次 |
| 最近记录: |