[Проблема]Какую систему членства я должен использовать?
У меня есть предварительно созданная база данных с учетными данными пользователя. Единственное, что я могу изменить в этой базе данных, это то, как пароли хэшируются. (Не спрашивайте об этом ... давайте просто скажем, что это глупо, и я исправляю его, пожалуйста.) Он заполнен учетными данными, поэтому все, что я использую, должно формировать его. Мы переходим к структуре ASP.net MVC4 и начинаем с нуля.
[Вопрос]
Что членство в системе следует использовать для этой проблемы, если таковые имеются?
Он должен:
а) позвольте мне проверить по базе данных, используя SHA512 для пароля б) установить роли в зависимости от результатов с) декорировать действия в контроллере, так что я могу чувствовать себя как босс
[подробности]
Предположим, у меня был сайт для людей, которые любят отыгрывать как зубные щетки. В базе данных уже есть (для сайта с небольшим и средним диапазоном) данных. Я перехожу к новому макету базы данных и буду преобразовывать его из старого. Мы могли бы изменить способ управления пользовательской системой, но, честно говоря, мы бы этого не сделали. У нас есть таблица пользователей с именем пользователя и паролем. Очень просто.
У меня есть googled, googled, и Stack Overflow'd, и Stack Overflow'd. То, что я нашёл, - это, по сути, книга выбора, в которой у них либо пустые номера страниц, либо дайте мне страницу в более старую книгу, чье приключение не совсем похоже на это.
Я надеюсь, что либо: а) кто-то назовет меня глупым прикладом и укажет, что я задаю повторяющийся вопрос, который приводит к ресурсу с некоторым полным примером и/или документацией о том, как делать то, что я хочу, или б) помогите мне найти способ.
Как раз сейчас я рассматриваю возможность написания собственной системы фильтрации пользовательского управления/аутентификации. Я собирался пойти с MembershipProvider, но это казалось излишним и, похоже, не делало того, что я хотел. Возможно, я слишком сильно сужу свое видение.
Я более чем готов взломать свой собственный путь и работать над решением проблемы, но я не хочу откатывать свою собственную вещь, если есть что-то доступное, к чему я могу подключиться.
Update 1
Win сделал комментарий о MembershipProvider не зависит от системы MVC, который дал мне «Ага!» момент, когда все объединяется. Я переоцениваю свои исследования, чтобы убедиться, что я просто не поставил головоломки вместе правильно.
Update 2
После долгих помощи dkroy и Win, я получил немного глубже в то, что происходит здесь. Как только у меня все будет сделано, я включу его в редактирование для всех, кто ищет информацию. По сути, я был на правильном пути, прежде чем думал о том, чтобы сломать его. Я не реализовал вызов GetUser, и я не вызывал SetAuthCookie, поэтому он работал неправильно. Сейчас я пишу RoleProvider.
Спасибо за ссылку, то есть я не нашел. К сожалению, когда я пытаюсь построить, мне сказали, что мне нужно реализовать каждый метод и свойство. Является ли это неудачей в моем процессе сборки? – Codeacula
Да, вы должны переопределить все методы. Однако вы можете просто оставить его пустым (это нормально), за исключением перечисленных мной. Конечно, вы не хотите называть «GetAllUsers» намеренно, если знаете, что не реализовали этот метод. – Win
Вам необходимо предоставить метод, который соответствует сигнатуре каждого метода, однако вам не нужно кодировать фактическую реализацию для всех. Просто установите каждое из их содержимого следующим образом: «throw new NotImplementedException();' –