2014-09-01 84 views
3

我很難理解如何向工作流中的下一個人發送鏈接。 到目前爲止,我有類似 http:/ xxxx /?sc_mode = preview & sc_itemid =「+ workflowItem.ID +」& sc_lang = en「 該網址工作正常,但問題是用戶被重定向到登錄到目前爲止,這是有道理的,但用戶如何登錄後再次被重定向到已鏈接的項目?我如何擴展登錄方法/管道來實現這一目標?登錄Sitecore桌面後重定向到原始URL

也許我正在嘗試一些複雜的事情這可能是簡單的任何其他想法?

注意:我不能發送直接鏈接到該項目,因爲該項目可能仍然在draft-master數據庫中,而不是在Web數據庫上。

任何幫助,將不勝感激。

謝謝

回答

6

您可以通過以下步驟實現:

1-設置此設置爲trueweb.configAuthentication.SaveRawUrl

2 - 創建類名爲LoginRedirect

using System.Web; 
using Sitecore.Pipelines.LoggedIn; 
using Sitecore.Web; 

namespace Sitecore.SharedResources.Pipelines.Login { 

public class LoginRedirect : LoggedInProcessor { 


    public override void Process(LoggedInArgs args) { 

     if (Sitecore.Context.GetSiteName() != "login") { return; } 

     string url = HttpUtility.UrlDecode(
      WebUtil.GetQueryString("url", "") 
    ); 
     if (!string.IsNullOrWhiteSpace(url)) { 
     WebUtil.Redirect(url); 
     } 
    } 

    } 
} 

3-使用以下命令在包含文件夾內創建配置文件(替換你的程序集名稱):

<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> 
    <sitecore> 
    <processors> 
     <loggedin> 
     <processor mode="on" 
      type="Sitecore.SharedResources.Pipelines.Login.LoginRedirect, 
        [Your Assmbly Name]" /> 
     </loggedin> 
    </processors> 
    </sitecore> 
</configuration> 

這將登錄到原來的URL後,將用戶重定向。

+0

工作就像一個魅力。非常感謝你! – Snapper 2014-09-01 21:32:24

相關問題