MVC3和用户管理

时间:2011-09-03 09:03:19

标签: .net asp.net-mvc-3 membership userid

我是.NET框架的新手,但在其他基于MVC的框架(如Symfony和Zend框架)方面拥有丰富的经验。

我有一个申请,要求研讨会参与者注册,然后选择他们想参加的研讨会,所以我有3个模型,即工作坊,参与者和注册,基本上有WorkshopID和ParticipantID。

如何整合现有会员资格,或者在注册和选择所需的研讨会后,还有其他方式将参与者ID记录到注册中吗?对于Symfony或Zend来说,这将是一分钟的事情,但无法弄清楚如何支持注册用户及其选择

2 个答案:

答案 0 :(得分:1)

如果要将参与者与会员用户链接,最好的方法是将Guid列(userId)添加到Participant表,并将其与aspnet_Users表上的主键相关联。这样就可以将您的域参与者与ASP.NET用户链接起来。

答案 1 :(得分:-1)

正如Jakub指出这是一个业务领域问题。看起来你并不希望围绕入学的脚手架授权,这是我最初的假设。如果你那时你会看到.NET RoleProvider

这与身份验证和MembershipProvider相关联,并提供了一个快速的脚手架,可以在注册时将用户分组到安全角色,如下所示:

Roles.AddUserToRole(User.Identity.Name, "Workshop");
Roles.RemoveUserFromRole(User.Identity.Name, "Workshop");

AspNetSqlRoleProvider与Sql Server一起使用,或多或少已开箱即用,但有一些配置和设置相关联。

但是,对于业务域,对于用户和注册之间的关联,您可以使用唯一的MembershipUser.ProviderUserKey(或您自己的抽象)映射1对多,并将注册保留在您自己的架构中。 / p>

The Entity Framework可用于帮助您使用代码优先从模型中快速构建数据库架构。