MVC3 - аутентификация с использованием учетных записей SQL Server - PullRequest
1 голос
/ 14 декабря 2011

Мне не удалось найти ничего полезного для этой проблемы, и я никогда раньше не использовал аутентификацию в веб-приложении.Так что все, что с / без файлов cookie, является для меня новым.

У нас есть существующая (не веб-) программа, использующая учетные записи SQL Server для аутентификации.Теперь я хочу сделать то же самое с моим проектом MVC3.

Каждый пользователь имеет одинаковые права в базе данных.Программа (не веб) обрабатывает права самостоятельно.После успешного входа в систему (с учетной записью SQL) имя для входа сопоставляется с объектом в базе данных, из которого можно получить идентификатор пользователя и управлять правильным управлением.Если пользователь «admin» вошел в систему, он получает ID 4711 и увидит еще несколько полей ввода и т. Д., В то время как другие пользователи имеют меньше прав.

Возможно ли это?

Кроме того:Каков наилучший подход для хранения аутентификации и как?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2011

Если ваша структура БД уже определена, вы можете написать свой собственный MembershipProvider, который обращается к вашей базе данных (см. http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx и http://www.codeproject.com/KB/aspnet/WSSecurityProvider.aspx).

Если вы гибко относитесь к структуре БД, вы можете использовать встроенный в ASP.NET SqlMembershipProvider (см. http://codehighstreet.com/Articles/overview_of_membership_and_installing_sql_membership_provider-part_1/overview_of_membership_and_installing_sql_membership_provider-part_1.aspx).. Затем вам нужно запустить сценарий SQL, который создает таблицы и индексы для вас. Это работает в MVC 3.

0 голосов
/ 14 декабря 2011

Asp.Net в целом (не относится к MVC) имеет встроенный способ управления аутентификацией.

Это делается с помощью MembershipProvider, RoleProvider и PrincipalProvider. Вы можете погуглить их для более подробной информации.

В вашем сценарии, где вы должны проверять учетные данные пользователя по существующей схеме, вы можете просто реализовать свой собственный пользовательский MembershipProvider (и, при необходимости, RoleProvider и / или PrincipalProvider), производные от базового класса.

Внутри вашего собственного провайдера вы реализуете методы подписи с помощью кода, специфичного для вашего домена.

Наконец, вы просто регистрируете своего провайдера по умолчанию в web.config и все готово. Ваше приложение может использовать API членства по умолчанию для аутентификации пользователей и учетных данных менеджера.

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