扩展MembershipUser类

时间:2011-07-01 05:27:11

标签: orm membership-provider

我正在扩展MembershipUser和MembershipProvider类。我正在使用ORM。

我想知道 - MembershipUser类没有Password属性,但有些方法可以返回密码并更改密码等等。我首先想到,使用ORM方法,我们可以做到:

user.password = newPassword;
session.commit();

但似乎MembershipUser不应该有任何密码属性或字段,而是必须通过SQL设置(所以必须创建查询)?

让我的问题更清楚:

如果MembershipUser类有密码字段,我可以在MembershipProvider的updatePassword方法中执行类似的操作:

User user = from database.getUser(username, oldpassword);
user.password = newPassword;
session.commit();

但如果我没有密码字段,我必须使用SQL:

UPDATE password SET .. etc etc ...因为我无法从数据库中获取和更改OBJECTS,因为对象没有我需要更改的字段(例如密码字段)。

2 个答案:

答案 0 :(得分:1)

如果您要创建自己的MembershipUser类派生,那么您应该考虑创建自己的MembershipProvider。

您的确切问题尚不清楚,但如果您实施自己的成员资格提供程序,则需要(主要)实现“验证”和“GetUser”方法,这些方法将允许您实例化和使用您的自定义MembershipUser实例。

答案 1 :(得分:1)

我最终围绕MembershipUser创建了一个包装类,其中包含可以操作的所有虚拟字段。我创建了一个ToMembershipUser方法来满足MembershipProvider方法。