1

我已经使用 Internet 应用程序模板创建了 ASP.net MVC4 应用程序,并希望将List<T>属性添加到由 ASP 内置表单身份验证提供的 MembershipUser 对象。

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

public class StockPermission

    {

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

因此,我的 MembershipUser 将包含 StockPermission 对象,这些对象允许 MembershipUser 对列表中的这些股票执行定义的操作

4

2 回答 2

0

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

FormsAUthentication 与 MembershipUser 无关。FormsAuthentication 只是为每个 Web 请求提供一个 cookie,以显示为已通过身份验证。FormsAuthentication 可以与任何类型的凭据系统一起使用。

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

您要进行的更改与权限相关,并且权限不是 Membership 系统的一部分,它们是 Role 系统的一部分。这些系统是独立的,因为它们可以被自定义实现替换。它们在逻辑上具有不同的功能。

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

简而言之,您将深入研究框架的内部结构。如果不进一步了解这是什么,这不是您应该做的事情。

于 2013-07-20T16:38:37.040 回答
0

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

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

于 2013-07-29T03:10:55.450 回答