Перенаправляется для входа в 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.

Другие вопросы по тегам