Sna*_*per 3 workflow redirect login sitecore preview
我很难理解如何向工作流程中的下一个人发送链接.到目前为止我有类似http:/ xxxx /?sc_mode = preview&sc_itemid ="+ workflowItem.ID +"&sc_lang = en"网址工作正常,但问题是用户被重定向到登录页面.这是有道理的但是,如何将登录后的用户再次重定向到已链接的项目?如何扩展登录方法/管道以实现此目的?
也许我正在尝试复杂的东西,当它可以很简单.还有其他想法吗?
注意:我无法发送项目的直接链接,因为该项目可能仍在草稿 - 主数据库中,而不是在Web数据库中.
任何帮助,将不胜感激.
谢谢
您可以通过执行以下操作来实现此目的:
1 -设置此设置true在web.config:Authentication.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);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
3-使用以下内容在include文件夹中创建配置文件(替换程序集名称):
<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>
Run Code Online (Sandbox Code Playgroud)
这将在登录到原始URL后重定向用户.
| 归档时间: |
|
| 查看次数: |
1424 次 |
| 最近记录: |