2

У меня есть макрос, который определяет, приходит ли посетитель из Facebook, и если этот посетитель является администратором этой страницы facebook.Перенаправлено для входа в Umbraco только при использовании Internet Explorer

Когда я обнаруживаю администратора, я запускаю код ниже, чтобы регистрировать посетителя в качестве предопределенного администратора (бэкэнд пользователя 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); 
} 

ответ

0

Функциональность canvas.aspx, как известно, ненадежны и неравномерно поддерживается, так что это не удивительно, если один браузер реагирует по-разному. На моем уровне 2 курса Umbraco cert наставник и все в комнате согласились, что он не готов к производству.

Я не могу полностью воспроизвести вашу проблему, но войти в бэк-офис в последних версиях Chrome, Firefox и IE9 имеет Chrome как нечетный - с IE9 и Firefox реагирует одинаково. Как ни странно для меня Chrome был единственным не для работы.

я, войдя в Umbraco, а затем в каждом случае розжига другую вкладку с URL:?

< .. домен ..>/canvas.aspx REDIR =/Pagename/

(мои сайты установите для ключа umbracoUseDirectoryUrls значение true, чтобы формат .aspx был заменен конечной косой чертой).

Таким образом, мой ответ заключается в том, что canvas.aspx не является надежным, и поэтому я буду регистрировать администраторов в стандартном/umbraco/back office, а не в canvas.aspx.

+0

Вот что я в итоге сделал, ответ обозначен как правильный – Sindre

Смежные вопросы