Я использую ASP.NET Identity 2.0
в проекте ASP.NET MVC5
, который состоит из трех слоев; Веб-приложение (уровень представления), модульный тест (тестовый проект) и библиотека классов (уровень данных). Обычно IdentityConfig.cs
находится в папке App_Start
веб-приложения, но поскольку я реализую управление разрешениями на основе групп, как указано на странице this, я хочу сохранить все модели домена и файл IdentityConfig.cs
в папке Identity в проекте уровня данных вместо веб-проекта (уровень представления). Поскольку IdentityConfig.cs
должен получить доступ к классу DbContext
, который помещен в мой проект уровня данных. Есть ли проблема в этом? С другой стороны, не могли бы вы немного объяснить, что такое папка App_Start
?Перемещение ASP.NET Identity IdentityConfig.cs из папки App_Start
Вот структура папок ASP.NET Идентичность в моем проекте ниже:
DataLayer (библиотека классов)
Бетон
EFDbContext
Entities (мои классы сущностей, за исключением от объектов идентификации ASP.NET)
Идентичность
ApplicationGroupManager
ApplicationGroupStore
GroupStoreBase
IdentityConfig
IdentityModels
представительский уровень (веб-приложение)
App_Sta к.т.
Контроллеры
AccountController
GroupsAdminController
ManageController
RolesAdminController
UsersAdminController
Спасибо за ответ, Я добавил структуру файла к моему вопросу выше ... –
>>> Я немного смущен. Конечно, безопасность - это главная проблема, но; ** 1) ** есть ли хорошая идея переместить все классы в ** папку DataLayer ** выше на ** PresentationLayer **? ** 2) ** Что делать, если перемещение IdentityModels в PresentationLayer также? ** 3) ** Если я переведу все из них в PresentationLayer, мне придется получить доступ к ** EFDbContext **, но я не уверен, что это хорошая практика. Это нормально? Итак, в целом, предлагаете ли вы переместить все классы и модели, связанные с идентификатором ASP.NET, на уровень представления, включая класс IdentityModels? –
Вы никогда не сможете полностью разойтись до тех пор, пока используете идентификатор asp.net, единственное решение для этого - создать свою собственную систему идентификации, в которой многое предстоит сделать, в моем случае я всегда компромисс, усилия, которые будут сохранены, сохраняя идентификатор asp.net в слое представления со своим собственным контекстом, намного выше, чем разделение –