Перенаправляется для входа в Umbraco только при использовании Internet Explorer
У меня есть макрос, который определяет, пришел ли посетитель с Facebook, и является ли этот посетитель администратором этой страницы Facebook.
При обнаружении администратора я запускаю приведенный ниже код, чтобы зарегистрировать посетителя в качестве предопределенного администратора (пользователь бэкэнда Umbraco) и перенаправить в режим прямого редактирования. Это прекрасно работает в Chrome, но не работает в Internet Explorer. В Internet Explorer посетитель перенаправляется на верхнем уровне (за пределами iframe) на страницу входа в Umbraco, но не вошел в систему. Есть идеи, почему?
var id = umbraco.BusinessLogic.User.getUserId("exampleadminuser"); // LoginName of an administrator
var u = umbraco.BusinessLogic.User.GetUser(id);
umbraco.BasePages.BasePage.doLogin(u);
// Check if the user should be redirected to live editing
if (u.DefaultToLiveEditing)
{
int startNode = u.StartNodeId;
// If the startnode is -1 (access to all content), we'll redirect to the top root node
if (startNode == -1)
{
if (umbraco.cms.businesslogic.web.Document.GetRootDocuments().Length > 0)
{
startNode = umbraco.cms.businesslogic.web.Document.GetRootDocuments()[0].Id;
}
else
{
throw new Exception("There's currently no content to edit. Please contact your system administrator");
}
}
string redir = String.Format("{0}/canvas.aspx?redir=/{1}.aspx", GlobalSettings.Path, startNode);
Response.Redirect(redir, true);
}
1 ответ
Функциональность canvas.aspx общеизвестно ненадежна и частично поддерживается, поэтому неудивительно, если один браузер реагирует по-другому. На моем курсе по сертификации Umbraco 2-го уровня преподаватель и все присутствующие согласились, что он не готов к работе.
Я не могу полностью воспроизвести вашу проблему, но вход в бэк-офис в последних версиях Chrome, Firefox и IE9 имеет Chrome как нечетный выход - IE9 и Firefox реагируют одинаково. Как ни странно, Chrome был единственным, кто не работал.
Я входил в umbraco, а затем в каждом случае запускал другую вкладку с URL:
<.. domain..>/ canvas.aspx? redir = / pagename /
(на моих сайтах ключ umbracoUseDirectoryUrls имеет значение true, поэтому формат.aspx заменяется косой чертой).
Поэтому я отвечаю, что canvas.aspx ненадежен, и поэтому я бы регистрировал администраторов в стандартном /umbraco/ back office, а не доверял холсту.aspx.