4

Я создаю приложение с несколькими арендаторами с ASP.NET MVC и испытываю проблемы с проверкой пользователей.Поставщик членства нескольких арендаторов ASP.NET MVC

Ситуация

У меня есть:

-a стол с пользователем (ID, имя, FirstName, электронная почта) Эта таблица сделана, так что пользователи, которые зарегистрирован в двух жильцов Безразлично» Вам нужно снова войти в систему.

-таблица с тентом (ID, TenantID, UserID (FK to table User), UserName, Loginname, Password, Active) В этой таблице содержится пароль для входа в систему для одного арендатора.

Пример:

  • UserX зарегистрирован в TenantA и TenantB
  • UserX входит в на TenantA, его логин и пароль для TenantA
  • Система проверяет или Логин и пароль правильны в таблица TenantUser
  • Система проверяет UserX, который соответствует идентификатору пользователя в таблице. Пользователь
  • UserX отправляется в TenantB и i ы автоматически регистрируется в

Моя проблема:

Как я могу создать пользовательский Provider таким образом я могу проверить пароль Войти & в жильца? Например:

public abstract bool ValidateUser(string username,string password); 

Как можно сказать моему провайдеру, на котором арендатору пользователь?

Как я могу изменить это в чем-то вроде:

public overrides bool ValidateUser(string username,string password, string tenant); ? 

Или, что еще один способ решить эту проблему?

ответ

4

Параметр имени приложения может использоваться для идентификации арендатора a/b, который может быть указан в файле конфигурации. Затем в своем пользовательском провайдере вы можете использовать это, чтобы вытащить правильную запись для арендатора. Не входите в настройку настраиваемых методов; это было бы болью.

HTH.

+0

Thx. Я понимаю, что пользовательские методы - неправильный путь. Жильцы создаются «на лету», как я могу указать это в файле конфигурации? Или я могу хранить его где-то еще? – Masna

+0

Если вы разрабатываете настраиваемый поставщик, вы можете легко сохранить это где-нибудь в другом месте. Это может быть в настройках приложения или в настраиваемом разделе конфигурации или статическом объекте или внешнем ресурсе, таком как файл DB/xml ..., чтобы назвать несколько :-) Это зависит от того, как на лету вам это нужно. .. Без подробностей я больше не могу помочь. –