#asp.net #asp.net-mvc
#asp.net #asp.net-mvc
Вопрос:
Нужно ли мне реализовывать все требуемые методы на MembershipProvider
и RoleProvider
, если я пишу пользовательский для использования AuthorizedAttribute
в ASP.NET MVC?
Есть несколько функций, которые я не хочу реализовывать, таких как CreateUser
или ‘DeleteRole`, потому что они нарушают систему, в которой я буду авторизовываться / аутентифицироваться.
Ответ №1:
Нет, вам не нужно реализовывать все, если вы никогда не используете эту функциональность. Выдача исключения NotImplementedException всегда является хорошим способом указать на это.
Ответ №2:
В настоящее время я делаю то же самое, и вам не обязательно внедрять все методы.
Возможно, вы захотите заглянуть на следующий веб-сайт.
http://theintegrity.co.uk/2010/11/asp-net-mvc-2-custom-membership-provider-tutorial-part-1/
Отличное руководство по внедрению пользовательского поставщика членства с ASP.NET MVC!
Комментарии:
1. на самом деле ваша ссылка на учебник — это именно то, что уже предложил @Darin Dimitrov.
Ответ №3:
Нет, вам не нужно реализовывать все методы для MembershipProvider или RoleProvider; если вы никогда не используете API для создания, обновления или удаления, то при использовании вы можете выдать исключение. Они существуют на случай, если вы все-таки измените пользовательские данные, а также используются опцией веб-сайта администрирования в Visual Studio. Таким образом, если вы используете этот веб-сайт, он будет работать не так, как ожидалось, поскольку он ожидает присутствия этих методов поставщика.
Но если все, что вы делаете, это используете элементы управления, то было бы удобно изучить, какие методы API используют эти элементы управления, и убедиться, что у вас есть реализации для них. Я имею в виду, что управление входом в систему наверняка использует ValidateUser и также может использовать getUser . Он также может вызвать UpdateUser для обновления количества неудачных входов в систему, даты последнего входа и т.д.
HTH.