我有关于.NET MVC 3中的成员资格提供程序(MySQL)的问题。
我有一个名为CustomObj的自定义对象,其结构为:
我想将此CustomObj与任何新创建的MembershipUser相关联。这可能吗?如果是这样,怎么样?
谢谢!
答案 0 :(得分:1)
考虑到您没有指定是否要将数据存储在数据库中,因此很难准确回答。假设您确实需要,您需要创建一个MembershipUser和MembershipProvider来处理您自己的MembershipUser,其中包含您的名称和对象。
由于您的对象很可能本身包含许多值,因此您必须弄清楚如何将其存储在数据库中。一个相当简单的解决方案是在存储它时将该对象序列化为json或xml,并在MembershipProvider再次从数据库获取自定义MembershipUser时对其进行反序列化。有很多方法可以做到这一点,我相信你会找到你的。
基本上,继承MySQL提供程序并覆盖各种create和get用户方法应该可以完成工作。请注意,您不必重写整个MembershipProvider。
可以在http://msdn.microsoft.com/en-us/library/ms366730(v=VS.85).aspx的MSDN库中找到它的所有内容(如何:实现自定义成员资格用户)
您还可以阅读ScottGu的博客,在那里他为提供商提供源样本:http://weblogs.asp.net/scottgu/archive/2006/04/13/Source-Code-for-the-Built_2D00_in-ASP.NET-2.0-Providers-Now-Available-for-Download.aspx
但是,您最好不要让特定提供商的源代码扩展它。