Как разделить системы входа для двух типов пользователей (учеников и преподавателей) в ASP.NET Core Identity?C#

Место общения программистов C#
Ответить
Anonymous
 Как разделить системы входа для двух типов пользователей (учеников и преподавателей) в ASP.NET Core Identity?

Сообщение Anonymous »

Я работаю над проектом ASP.NET Core Identity, в котором у меня есть два разных типа пользователей: студенты и преподаватели. Требование следующее:
  • Учетные записи могут входить только на студенческий сайт.
  • Учетные записи учителя могут входить только на сайт учителя.
  • Учетная запись ученика не должна иметь возможности войти на сайт учителя, и наоборот. Он даже не может найти имя пользователя.
Это что-то вроде двух систем входа.
Код ER< /h2>

Код: Выделить всё

public class ApplicationUser: IdentityUser
{

}

public class Student: ApplicationUser
{

}

public class Teacher: ApplicationUser
{

}

public class WorkNextDbContext: IdentityDbContext
{
public WorkNextDbContext(DbContextOptions options) : base(options)
{

}

public virtual DbSet Students { get; set; }
public virtual DbSet Teachers { get; set; }
}
В настоящее время я использую ASP.NET Core Identity, который генерирует оба типа пользователей в одной и той же таблице aspnetusers . Это вызывает проблему, когда имена пользователей дублируются между двумя типами пользователей. Я не думаю, что роли подходят в этом сценарии, поскольку это два совершенно разных типа пользователей с разными системами входа.

Код: Выделить всё

aspnetusers Table


Идентификатор
Дискриминатор
Имя пользователя




1
Студент
Али


2
Учитель
Боб


3
Студент
Боб - Ошибка , повторяющееся имя пользователя, имя пользователя должно быть уникальным, но ядро ​​идентификации генерирует два типа пользователей в 1 таблице



Как настроить две отдельные системы входа в систему, не допуская при этом перекрытия этих типов пользователей в одной таблице aspnetusers и возникновения конфликтов имен пользователей? Есть ли способ полностью разделить учетные записи учащихся и учителей в базе данных или другой обходной путь, соответствующий передовым практикам Core Identity?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-asp-ne
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»