Orchardcms 在Orchard CMS中,在用户登录、注销和创建配置文件后,如何设置重定向URL?

Orchardcms 在Orchard CMS中,在用户登录、注销和创建配置文件后,如何设置重定向URL?,orchardcms,profile,orchardcms-1.6,Orchardcms,Profile,Orchardcms 1.6,我有一个果园CMS为我的网站,需要帮助重定向用户后,他们登录,注销和创建新的配置文件。我正在使用Orchard管理页面中的“配置文件”模块 目前,我认为该代码会将用户发送到他们点击“登录”链接之前的最后一个页面。与“注销”相同。我希望用户在登录、注销并创建新注册后重定向到主页 我相当确定它位于以下文件Core\Shapes\Views\User.cshtml中。有人能解释一下如何编辑它(如果这实际上是正确的编辑)以将用户重新引导到主页吗?谢谢您的帮助。我想简单的方法是在您的模块中实现IUserE

我有一个果园CMS为我的网站,需要帮助重定向用户后,他们登录,注销和创建新的配置文件。我正在使用Orchard管理页面中的“配置文件”模块

目前,我认为该代码会将用户发送到他们点击“登录”链接之前的最后一个页面。与“注销”相同。我希望用户在登录、注销并创建新注册后重定向到主页


我相当确定它位于以下文件
Core\Shapes\Views\User.cshtml
中。有人能解释一下如何编辑它(如果这实际上是正确的编辑)以将用户重新引导到主页吗?谢谢您的帮助。

我想简单的方法是在您的模块中实现IUserEventHandler。 创建一个类loginDirect并实现一个方法LoggedIn。像这样:

using System.Web.Mvc;
using Orchard.Mvc;
using Orchard.Security;
using Orchard.Users.Events;

namespace Orchard.Users {
    public class LogInRedirect : IUserEventHandler
    {
        private readonly IHttpContextAccessor _httpContext;
        public LoggedOutRedirect( IHttpContextAccessor httpContext )
        {
            _httpContext = httpContext;
        }

        public void LoggedIn( IUser user )
        {
            UrlHelper urlHelper = new UrlHelper( _httpContext.Current().Request.RequestContext );
            _httpContext.Current().Response.Redirect( urlHelper.RequestContext.HttpContext.Request.ApplicationPath + "/yourController/yourAction" );
        }

        public void Creating( UserContext context ) { }
        public void Created( UserContext context ) { }
        public void AccessDenied( IUser user ) { }
        public void ChangedPassword( IUser user ) { }
        public void SentChallengeEmail( IUser user ) { }
        public void ConfirmedEmail( IUser user ) { }
        public void Approved( IUser user ) { }
        public void LoggedOut( IUser user ){ }
    }
}

奇怪的是,当我使用它时,我在菜单中的“登录”链接不会更改为用户名(带有下拉菜单和注销选项)。这是因为在该代码中,我检查了
WorkContext.CurrentUser
。对于此代码,该属性有时为null。如果没有,我就没有问题……我无法用Orchard 1.10.2实现这一点;如果我重定向(url,false),则忽略重定向。如果省略false并使用重定向(url),则登录失败。