ASP.NET MVC, формы auth или custom при использовании EF 4? - PullRequest
5 голосов
/ 04 сентября 2010

Я новичок в мире ASP.NET.Поскольку я хочу использовать ORM, кажется, что я хотел бы, чтобы сущность представляла пользователя или члена, или что-то еще, а не некоторые данные, спрятанные API аутентификации форм.На самом деле я не понимаю, как я могу жить без него.

Как люди справляются с этим?Накатить собственную аутентификацию?Или есть лучший способ для включения аутентификации форм в Entity Framework?

Короче говоря, так как мне все равно нужен объект User и Role Entity для запросов, я должен пропустить аутентификацию форм или найти способ ее использовать?

Спасибо

Ответы [ 2 ]

4 голосов
/ 04 сентября 2010

EF и Forms Auth действительно две разные области. Вы можете очень легко использовать Forms Auth без членства в ASP.NET и свернуть своего провайдера без особых усилий.

Из этого туториала вы узнаете, как:

http://msdn.microsoft.com/en-us/library/ms172766(VS.80).aspx

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

3 голосов
/ 04 сентября 2010

FormsAuthentication сам по себе не заботится о хранилище идентификаторов и может проверять только учетные данные, хранящиеся в разделе web.config <credentials>, с помощью метода Authenticate.Стандартные реализации страницы входа в систему используют статический класс Membership для управления идентификационными данными и учетными данными в MembershipProvider, указанном в файле конфигурации (обычно SqlProfileProvider).

Однако,вам не нужно использовать функциональность поставщика членства ASP.NET для поддержания вашей личности, и вы все равно можете использовать FormsAuthentication просто отлично. поток управления проверкой подлинности форм показывает, что проверка подлинности форм имеет дело главным образом с созданием и поддержанием мандата аутентификации для пользователя в файле cookie.Он не имеет отношения к идентификатору пользователя или самому профилю, так как не заботится о них.

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

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