Расширение класса MembershipUser - PullRequest
1 голос
/ 01 июля 2011

Я расширяю классы MembershipUser и MembershipProvider.Я использую ORM.

Мне интересно - класс MembershipUser не имеет свойства Password, но есть методы, которые возвращают его пароль, меняют его пароль и так далее.Сначала я подумал, что, используя подход ORM, мы могли бы сделать:

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

Но кажется, что MembershipUser не должен иметь какого-либо свойства или поля пароля, и вместо этого он должен быть установлен через SQL (такнужно будет создать запрос)?

Чтобы сделать мой вопрос более понятным:

Если у класса MembershipUser есть поле пароля, я мог бы сделать что-то подобное в методе updatePassword для MembershipProvider:

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

Но если у меня не может быть поля пароля, я должен использовать SQL:

ОБНОВЛЕНИЕ пароля УСТАНОВЛЕНО ... и т. Д. И т. Д. ... так как я не могу получить и изменить ОБЪЕКТЫиз базы данных, поскольку у объектов нет полей, которые мне нужно изменить (например, поле пароля).

Ответы [ 2 ]

1 голос
/ 11 июля 2011

В итоге я создал класс-оболочку для MembershipUser со всеми виртуальными полями, которыми можно манипулировать.Я создал метод ToMembershipUser для удовлетворения методов MembershipProvider.

1 голос
/ 01 июля 2011

Если вы создаете свой собственный производный от класса MembershipUser, вы уже должны подумать о создании своего собственного MembershipProvider.

Ваш точный вопрос неясен, но если вы реализуете своего собственного провайдера членства, вам нужно будет реализовать (в первую очередь) его методы «Validate» и «GetUser», которые позволят вам создать экземпляр и использовать пользовательский экземпляр MembershipUser.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...