Обработка авторизации пользователя с ASP.NET - PullRequest
0 голосов
/ 23 декабря 2011

При создании нового бизнес-приложения Silverlight 5.0 код аутентификации и авторизации генерируется автоматически.Вся пользовательская информация и роли по умолчанию сохраняются в файле aspnetdb mdf.Мои вопросы:

  1. Является ли обычной практикой хранение данных авторизации / аутентификации пользователей в отдельной базе данных от данных, относящихся к вашей деятельности, или я должен скопировать таблицы в основную базу данных?Я вижу, что текущая реализация включает в себя поле ApplicationId, значит, оно может хранить данные для разных приложений?Может быть, есть какая-то общая база данных на веб-сервере для всех веб-приложений (только догадки)?:)

  2. Если я хочу сохранить информацию о пользователе в отдельной базе данных, как связать данные между этими двумя базами данных?Я имею в виду, у меня будет UserId ссылка в некоторых таблицах (бизнес-правила)?Мои бизнес-данные используют идентификационные PK, а aspnetdb использует UniqueIdentifier, это проблема?

  3. Когда пользователь регистрируется на сайте, как мы назначаем ему роли в производственной среде?В Visual Studio есть инструмент настройки ASP.NET, но как насчет производственной среды?Должно ли это быть закодировано в веб-проекте?

  4. Каков наилучший способ обработки авторизации / аутентификации пользователей в тех случаях, когда приложение всегда требует аутентификации?

1 Ответ

2 голосов
/ 26 декабря 2011

Вы не должны использовать дефолтную реализацию аутентификации ASP.NET в вашем производственном приложении: она использует локальную базу данных (файл mdf), потому что она работает «из коробки».Однако вы не ограничены этим решением:

  • Вы можете настроить провайдера проверки подлинности (и роли) ASP.NET для использования вашей реальной базы данных, что позволит вам лучше интегрировать ее в существующие данные,Чтобы лучше понять весь процесс, см. http://msdn.microsoft.com/en-us/library/6e9y4s5t.aspx и связанные страницы.ASP.NET может самостоятельно сгенерировать все необходимые таблицы в вашей базе данных.

  • Вы можете переопределить механизм аутентификации по умолчанию своим собственным.В этом случае вам нужно всего лишь отредактировать Services / AuthenticationService.cs в вашем проекте веб-приложения.Класс AuthenticationService наследуется от AuthenticationBase и позволяет вам переопределять довольно много методов членства в ваших собственных реализациях.

...