С новой версией RT 2013 RTM и asp.net mvc 5.0 я решил попробовать несколько вещей...
Излишне говорить, что многое изменилось. Например, новый ASP.NET Identity
является заменой старых Membership
и (менее старых) SimpleMembership
API.
Во всех предыдущих приложениях, которые я построил, у меня никогда не было возможности работать с Membership или с SimpleMembership. Ive всегда заканчивал тем, что создал свой собственный метод Login()
, который преобразует представленный ViewModel в POCO (используя automapper), который, в свою очередь, будет использовать какой-то репозиторий для поиска пользователя и пароля.
Взамен я получил бы User POCO, который позже будет преобразован (с использованием automapper) в меньший UserSession POCO. Чем меньше UserSession будет размещаться в сеансе.
Конечно, я бы по-прежнему использовал FormsAuthentication
для создания Encrypted Ticket
и использовал FormsAuthentication.SignOut()
, когда пользователь хотел выйти из системы.
Но я никогда полностью не воспользовался тем, что Membership (or SimpleMembership)
мог предложить.
У меня никогда не было каких-то POCOs, которые использовали какой-то интерфейс, и мне не нужно было добавлять ссылку на библиотеки Microsoft внутри моей библиотеки классов POCO. Другими словами, у меня никогда не было сильной зависимости от чего-либо.
Мой вопрос следующий:
В примерах, которые я вижу, я вижу, что новая идентификация ASP.NET создает (сначала через код) некоторые таблицы и поля. Например, таблица AspNetUsers
содержит поле Id
как string
. Конечно, я уверен, что есть способ преодолеть это и в конце концов увидеть примеры, но почему кто-нибудь NOT want to build pure POCO classes
и будет полностью контролировать, что и как создаются вещи?
Если Im confused (который имеет высокую вероятность), может ли кто-нибудь объяснить, почему я хотел бы использовать новый API ASP.NET Identity (или, что более важно, использовать новый Microsoft.AspNet.Identity.EntityFramework
) для создания моих таблиц?
Что такое Pros and Cons
в желании использовать это, в отличие от стиля POCO?
Возможно, мне следует задавать этот вопрос по другому вопросу, но Im также пытается понять, как я могу принести пользу новой Identity, основанной на утверждениях, при использовании POCOs вместо Entities, сгенерированных с помощью идентификатора ASP.NET.
Не стесняйтесь указывать меня в правильном направлении для разъяснений.