Единый вход с AspNetZero - PullRequest
       36

Единый вход с AspNetZero

0 голосов
/ 15 ноября 2018

Я работаю над ASP.NET ZERO с ядром 2.0 и jQuery. ASP.NET ZERO имеет 2 веб-проекта: Web.Mvc (основное веб-приложение) и Web.Public. В проекте web.Public для входа в систему он перенаправляет на Web.Mvc строку запроса, в которой упоминается sso true в строке запроса, после входа он перенаправляет обратно в открытый проект.

Case1: Когда мы нажимаем на «Войти из публичного проекта», он перенаправляется в веб-проект. Как только мы успешно вошли в систему, введя учетные данные пользователя, он будет перенаправлен в публичный проект, и в этом случае мы не получим пользователя из сеанса (AbpSesion.UserId). Если мы обновим основной веб-проект, то он войдет в систему и имя пользователя будет отображаться в заголовке. Но это не работает в публичном проекте, и он по-прежнему отображает ссылку для входа вместо зарегистрированного имени пользователя в заголовке. Если мы снова нажмем на ссылку «Войти», она перейдет к основному веб-приложению и снова будет перенаправлена ​​обратно на домашнюю страницу публичного доступа, поэтому кажется, что мы уже правильно вошли в главное веб-приложение.

Case2: после вышеописанного процесса, если мы выйдем из веб-проекта и затем обновим Public-проект, в заголовке будет указано имя пользователя, и мы получим значения сеанса как для пользователя, так и для клиента, и это хорошо работает.

==> Сводка: После успешного входа пользователя из Public в Web, веб-проект отправляет информацию о пользователе в Public, и Public также извлекает эту информацию, но между ними есть один уровень Application Service, в котором мы не получаем идентификатор пользователя. из значений AbpSession (AbpSesion.UserId), из-за которых функциональность единого входа не работает.

Замечание, способное найти любую дополнительную информацию по такой проблеме для ASP.NET ZERO в любых темах или документах.

Спасибо

1 Ответ

0 голосов
/ 17 ноября 2018

Попробуйте это локально: Asp.net Isoity SSO в нескольких проектах на localhost

Это поможет разделить идентичность между несколькими приложениями.

...