加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – ASP MVC用户配置文件

发布时间:2020-12-15 21:00:16 所属栏目:asp.Net 来源:网络整理
导读:我以前做过MVC,但我是ASP和ASP MVC的新手.到目前为止,我真的很喜欢ASP MVC为我提供的轻松,但我无法弄清楚如何更好地控制用户.默认情况下,MVC提供最小的用户注册表单.我看了很多,但我还有两个问题: 如何使用户数据库成为项目中的本地数据库?我认为SQLEXPRES
我以前做过MVC,但我是ASP和ASP MVC的新手.到目前为止,我真的很喜欢ASP MVC为我提供的轻松,但我无法弄清楚如何更好地控制用户.默认情况下,MVC提供最小的用户注册表单.我看了很多,但我还有两个问题:

>如何使用户数据库成为项目中的本地数据库?我认为SQLEXPRESS用于存储用户值,看起来像是一个神奇的过程.我怎么去魔法 – 如果这个?我想对这个数据库的位置有更多的控制权.
>这导致另一个问题:如何扩展用户?我一直在读Profiles,但我仍然对一些事情感到困惑.如何准备个人资料并将其与用户链接?什么作为外键?而且,在我的控制器中,我如何访问用户的各个部分,如用户名,电子邮件,甚至从名字,姓氏,姓名等个人资料(虽然我猜有一次当我有个人资料的数据库和本地的用户数据库时,我可以运行用于检索数据的sql命令)

我非常感谢对ASP.NET的正确资源和/或最佳实践的一些指示

解决方法

我将首先阅读有关扩展ASP.NET Membership API的官方 Microsoft article.它讨论了创建额外的表来存储有关用户的其他信息.

会员数据库

>如果您有一个包含所有其他网站信息的现有数据库,则可以运行aspnet_regsql.exe工具来生成必要的用户表.然后,您需要修改web.config并添加SqlMembershipProvider以及连接字符串.
>如果您正在创建新项目但没有数据库,请从已启用成员身份的新MVC项目开始.您的数据库将在首次使用时在App_Data文件夹中创建,您可以将其添加到SQL / SQLEXPRESS服务器中.然后,只需更改连接字符串以使用数据库服务器而不是本地文件.

创建其他表

这部分实际上非常简单,包括几个简短的步骤:

>创建一个新表,即UserProfiles
>添加uniqueidentifier列作为主键,并将外键添加到aspnet_Users表
>添加您要存储的任何其他字段(电话,地址,性别等)
>如果您正在使用LINQ-to-SQL或Entity Framework,只需将所需的表拖到设计器上,就可以查询Membership表了.

这里有一些使用示例

将此代码段添加到负责个人资料/帐户信息的存储库中.

public aspnet_User GetUser()
{
    MembershipUser user = Membership.GetUser();
    return db.aspnet_Users.SingleOrDefault(u => u.UserId == user.ProviderUserKey);
}

然后在模型中,您可以获取用户并访问存储在UserProfiles表中的其他信息.

AccountRepo accountRepo = new AccountRepo();
aspnet_User user = accountRepo.GetUser();
string Address = user.UserProfile.Address; // bingo!

这就是它!

这显然是一个简单的示例,您应该检查用户是否为null,并且您还可以创建一个类,负责返回有关用户的必要信息,实现缓存等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读