Добавьте новую таблицу для клиента, войдите в тот же сеанс с пользователями в AbpUsers, но сообщайте об ошибке FK в настройках - PullRequest
0 голосов
/ 16 апреля 2019

Я делю сайт на FrontEnd и BackEnd (Области). Я добавляю новую таблицу, которая используется для сохранения клиентов, которые регистрируются в Frontend. тогда клиент может войти. Клиенты отличаются от пользователей в таблице Abpusers, но они используют один и тот же сеанс. Когда я использую учетную запись клиента, войдите в систему, он добавит CustomerId в качестве session.userid, он сообщит об ошибке о конфликте FK из-за внешнего ключа FK_dbo .AbpSettings_dbo.AbpUsers_UserId в разделе «Настройка и аудит».

Я установил ID пользователя пустым после успешного входа в систему. но ID пользователя будет иметь значение автоматически. поэтому ошибка повторяется.

AbpSession.Use (null, null);

1. Сессия клиента:

if (identity == null) { identity = await _customerManager.CreateIdentityAsync (пользователь, DefaultAuthenticationTypes.ApplicationCookie); } if (! string.IsNullOrEmpty (user.UserName)) {identity.AddClaim (new Claim (IDLRecruitConsts.CustomerName, user.UserName.ToString (). ToString (CultureInfo.InvariantCulture))); } if (! string.IsNullOrEmpty (user.DisplayName)) {identity.AddClaim (new Claim (IDLRecruitConsts.CustomerDisplayName, user.DisplayName.ToString (). ToString (CultureInfo.InvariantCulture))); }

2.set session null

AbpSession.Use (ноль, ноль);

Надеюсь, что пользователь в Customer и Users может войти в систему по отдельности. Хорошо работать вместе.

Это просто дилемма для меня, пожалуйста, помогите мне решить эту проблему. Я не хочу разделять сайт на два сайта. Простите за мой плохой английский, если я не выражаю четко, пожалуйста, добавьте мой Wechat: x_xuejia. Спасибо, продвинутый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...