Предоставленный токен защиты от подделки был предназначен для пользователя «sitecore \ 123456», но текущий пользователь - «extranet \ 123456» - PullRequest
0 голосов
/ 09 июля 2019

Я обновляюсь с Sitecore 6.6 до 9 с помощью инструмента миграции.На одной странице у нас есть выпадающий список с 3 вариантами для обычного режима, режима редактирования и предварительного просмотра.Когда пользователь переключается из обычного режима в режим редактирования / предварительного просмотра, у нас есть собственный конвейер, который автоматически регистрирует пользователя из домена экстрасети в учетную запись домена Sitecore, пропуская страницу входа в Sitecore и переводя пользователя в режим редактирования / предварительного просмотра.Этот конвейер также используется при олицетворении пользователей.

Все это прекрасно работает в Sitecore 6.6.

Но это не работает в Sitecore 9. При этом конвейере, если я перехожу в режим предварительного просмотра, я получаю эту ошибку: предоставленный токен защиты от подделки был предназначен для пользователя "sitecore \ 123456", но текущийпользователь "extranet \ 123456"

Без конвейера в экземпляре Sitecore 9 страница перенаправляется на страницу входа в sitecore, и при входе в систему с использованием учетной записи домена Sitecore я не получаю ошибок.

<httpRequestBegin>
<processor type="Sitecore.Pipelines.PreprocessRequest.CheckIgnoreFlag, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.EnsureServerUrl, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.StartMeasurements, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.IgnoreList, Sitecore.Kernel">
<prefixes hint="list">
</prefixes>
</processor>
<processor type="Sitecore.Pipelines.HttpRequest.SiteResolver, Sitecore.Kernel" /> 
<processor type="Sitecore.Pipelines.HttpRequest.UserResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.DatabaseResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.BeginDiagnostics, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.DeviceResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.LanguageResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.CustomHandlers, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.QueryStringResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.DynamicLinkResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.AliasResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.DefaultResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.FileResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.DeviceSimulatorResolver, Sitecore.Kernel" />
<processor type="Sitecore.Pipelines.HttpRequest.LayoutResolver, Sitecore.Kernel" />
<processor type="Test.Pipelines.LoginOverride, Test" />
<processor type="Sitecore.Pipelines.HttpRequest.ExecuteRequest, Sitecore.Kernel" />
</httpRequestBegin>

Код TestPipeline

if (Context.Domain.Name == SITECORE )
{
   string username = SITECORE + "\\" + Context.User.LocalName;
   username = username.ToLower();

   util.WebUtil.SetImpersonatorEmployeeNumber(string.Empty);

   if (!string.IsNullOrEmpty(username) && !username.Contains("anonymous") && Sitecore.Security.Accounts.User.Exists(username)
      && !Context.RawUrl.ToLower().Contains("xhtmlvalidator") && !Context.RawUrl.ToLower().Contains("analytics") && username != Context.User.Name.ToLower())
   {
       AuthenticationManager.Login(username);
   }
   else if (Context.IsLoggedIn && Context.RawUrl.ToLower() == "/sitecore/shell/default.aspx" && !Sitecore.Security.Accounts.User.Exists(username))
   {
       Context.Logout();

   }
}

Конвейер (Test) в Sitecore.config размещается после Resolver Layout.Это правильное место, чтобы перехватить процесс и автоматически войти в систему или выдать себя за пользователя?

Любые предложения / советы приветствуются !!

Спасибо!

...