Как зарегистрировать RoleManager в Startup.cs в ASP.NET Core

В Java, когда оператор «==» используется для сравнения двух объектов, он проверяет, ссылаются ли объекты на одно и то же место в памяти. Другими словами, он проверяет, являются ли имена двух объектов в основном ссылками на одно и то же место в памяти.

Класс Java String фактически переопределяет реализацию equals () по умолчанию в классе Object и переопределяет этот метод, чтобы он проверял только значения строк, а не их местоположения в памяти. Это означает, что если вы вызываете метод equals () для сравнения двух объектов String, то, пока действительная последовательность символов равна, оба объекта считаются равными.

Оператор == проверяет, являются ли две строки точно одним и тем же объектом.

Метод .equals() проверяет, имеют ли две строки одно и то же значение.

1
задан TanvirArjel 25 February 2019 в 15:06
поделиться

3 ответа

Скорее всего, вам нужно добавить

services.AddIdentity<IdentityUser, IdentityRole>(config =>
{
        config.Password.RequireNonAlphanumeric = false; //optional
        config.SignIn.RequireConfirmedEmail = true; //optional
})
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();

в ваш метод ConfigureServices в Startup.cs

0
ответ дан vnwonah 25 February 2019 в 15:06
поделиться

В вашем методе ConfigureServices вы уже вызываете AddDefaultIdentity, который является новым дополнением в 2.1, которое защищает Identity без поддержки ролей. Чтобы добавить поддержку ролей и, следовательно, RoleManager к вашей коллекции служб, измените код, как показано ниже:

services.AddDefaultIdentity<IdentityUser>()
  .AddEntityFrameworkStores<ApplicationDbContext>()
  .AddRoles<IdentityRole>();
0
ответ дан Chris Pickford 25 February 2019 в 15:06
поделиться

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

        services.AddIdentity<IdentityUser, IdentityRole>(o => {
            o.Password.RequiredLength = 8;
        })
        .AddRoles<IdentityRole>()
        .AddRoleManager<RoleManager<IdentityRole>>()
        .AddDefaultTokenProviders()
        .AddEntityFrameworkStores<ApplicationDbContext>();
0
ответ дан jcruz 25 February 2019 в 15:06
поделиться
Другие вопросы по тегам:

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