2

我有一个宏可以检测访问者是否来自Facebook,并且该访问者是该Facebook页面上的管理员。只有在使用Internet Explorer时才重定向到Umbraco登录

当我检测到管理员时,我运行下面的代码以访问者身份作为预定义的管理员(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功能是非常不可靠和patchily支持,所以它不是一个惊喜,如果一个浏览器有不同的反应。在我的2级Umbraco证书课程中,导师和房间里的每个人都认为它不是生产准备好的。

我不能完全复制你的问题,但在Chrome,Firefox和IE9的最新版本中登录到后台办公室已经是奇怪的了 - IE9和Firefox的反应方式相同。奇怪的是铬是唯一一个不是工作。

我登录到一把umbraco,然后在每个实例发射了另一个选项卡的URL:

< .. ..域>/canvas.aspx导向= /网页/

(我的地盘将umbracoUseDirectoryUrls项设置为true,以便将.aspx格式替换为后面的斜杠)。

所以我的答案是,canvas.aspx是不可靠的,因此我会将管理员登录到标准/ umbraco/back办公室而不是信任canvas.aspx。

+0

这就是我最终做的,回答标记为正确的 – Sindre 2013-06-10 12:15:31