Увеличивать asp.net mvc 5 identity

Я должен вооружать систему login, и что вышеупомянутая система, которая могла бы повторно использоваться в двух проектах mvc

Модель (согласно архитектуре) осталась следующего способа:

  • Пользователь: usu, пароль, emailConfirmado, и т.д.

  • Клиент: usuarioId, электронная почта, и т.д.

  • Служащий: usuarioId, электронная почта, и т.д.

В свою очередь, у модели есть другие подмостки для безопасности:

  • Usuario_Permiso: usuarioId, permisoId

  • Разрешение: permisoId, desc

  • Rol_Permiso: rolId, permisoId

  • Список: rolId, desc

  • Usuario_Rol: usuarioId, rolId

Мой вопрос: он рекомендуемый увеличивать asp.net mvc5 identity или предпочтительно использовать мою собственную систему login?

Привет

3
задан 04.02.2016, 09:37
2 ответа

По моему мнению он сказал бы тебе категорически, использовать ASP.NET Identity будет ли приносить тебе много преимуществ, despreocupándote криптографических заданий и уберегаясь работа. Кроме того, ASP.NET Identity приготовлен для того, чтобы быть увеличенным, потому что, простую форму возможно изменять с типа идентификаторов до того, чтобы использовать твои собственные организации usuarios, roles, ...

Я думаю, что в твой одинокий случай ты нуждаешься в том, чтобы поместить ее совместно, добавить систему разрешения и соединить организации usuarios с теми clientes и empleados

Простой способ это делать был бы создавая проект Biblioteca de clases и двигать элементы ASP.NET Identity, которые включаются, по умолчанию, в проект MVC (ApplicationUser, ApplicationDbContext, ApplicationUserManager, ...).

После, ты добавил бы необходимые элементы, чтобы управлять о разрешении (организации, чтобы определять разрешения, услугу, чтобы управлять о разрешении...)

По моему мнению, ассоциации между usuarios и clientes и empleados он не включил бы ее в общий проект, потому что я схватил, мог бы служить тебе для большего количества проектов, в которых у тебя не было бы этих организаций.

И в конце концов, если ты упаковываешь этот проект в пакете NuGet, ты смог бы, простой формы, добавлять удостоверение и разрешение ко всем твоим проектам.

В этой статье CodeProject "ASP.NET Identity with webforms" ты можешь видеть flesibilidad ASP.NET Identity, который даже возможно "щелкать" в проекте WebForms

2
ответ дан 24.11.2019, 14:55

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

Extending ASP.net Identity in an ASP.net MVC 5 application

может быть начатым, хотя чем-то простым, например, Класс добавляет свойство к пользователю

public class ApplicationUser : IdentityUser
{
    public string Email { get; set; } 
}

, получает в наследство от IdentityUser, которая определяет структуру таблицы AspNetUser

ASP.NET, MVC 5: Extending ASP.NET Identity 2.0 Списка and Implementation of Роле Басед Authorization

Pero также ты можешь увеличивать остальные объекты, определенные в модели Identity, как то, чтобы быть списком, aГ±adiendo новое свойство.

public class ApplicationRole : IdentityRole
{
    public virtual string Description { get; set; }
}

, Поскольку ты будешь понимать только, - вопрос применения наследства, но из-за того, что относится друг к другу о EF, может также ты можешь определять контекст, чтобы настраивать, как mapear эти новые свойства в поля db

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {

    }
}

Другое преимущество, которое ты получаешь, использовав EF, состоит в том, что ты можешь применять migrations, чтобы обновлять структуру данных, которых ты определил.

1
ответ дан 24.11.2019, 14:55

Теги

Похожие вопросы