将List <t>属性添加到ASP.net MembershipUser对象MVC 4 </t>

时间:2013-07-20 16:10:04

标签: asp.net-mvc-4 forms-authentication membership-provider

我用Internet应用程序模板创建了ASP.net MVC4应用程序, 并希望将List<T>属性添加到ASP builtin Forms Authetication提供的MembershipUser对象。

此List属性将是StockPermission对象的列表:

public class StockPermission

    {

        private Stock stock;        
        private byte afterSaveAction;        
        private bool allowEditingStockDocs;
        private bool allowChangingUser;
    }

因此,我的MembershipUser将包含StockPermission对象 这使得MembershipUser可以对列表中的股票执行定义的操作

2 个答案:

答案 0 :(得分:0)

在你开始尝试做这样的事情之前,明智地了解这些系统究竟是什么。从您的评论中可以清楚地看出,您并不真正了解它们,因为您会混淆多个系统。

FormsAU身份验证与MembershipUser无关。 FormsAuthentication仅用于为每个要显示为已验证的Web请求提供cookie。 FormsAuthentication可以与任何类型的凭据系统一起使用。

MembershipUser是Membership子系统的一部分。成员资格与FormsAuthentication无关,除了您的代码将调用成员资格以验证用户凭据,然后您的代码将使用FormsAuthentication创建一个cookie来记录用户。

您要进行的更改与权限相关,权限不属于Membership系统,它们是Role系统的一部分。出于某种原因,这些系统是分开的,因为它们可以用自定义实现替换。它们具有逻辑上不同的功能。

最后,您无法更改MembershipUser,因为它是基本框架的一部分。您可以通过从MembershipUser派生自己的类来扩展它,但这不是推荐的做事方式。相反,您应该拥有自己的User类,该类引用MembershipUser.ProviderUserId。

简而言之,您即将深入了解框架的内部。如果不了解更多关于这是什么的话,你不应该这样做。

答案 1 :(得分:0)

要将List属性添加到MembershipUser对象或任何其他属性,我们可以在本文中创建自定义MembershipProvider和自定义MembershipUser类描述:

http://msdn.microsoft.com/en-us/library/ms366730(v=vs.100).aspx