gpt4 book ai didi

asp.net-mvc - Orchard CMS : Sign Out (Log Off) Confirmation Page

转载 作者:行者123 更新时间:2023-12-04 23:59:52 29 4
gpt4 key购买 nike

当用户从前端注销时是否会触发事件,我如何使用该事件将用户重定向到特定 View 或页面?我希望用户在注销后收到一条消息,上面写着“您已成功注销”。

最佳答案

与往常一样,Orchard 有不止一种方法可以做到这一点:)

方法一:覆盖用户形状

当您注销时,您将被重定向到 Orchard.Users.AccountController 上的操作方法调用LogOff ,它需要一个 returnUrl争论。包含退出链接的形状位于 ~/Core/Shapes/Views/User.cshtml 下但是您可以通过在您的主题中创建一个名为 Views/User.cshtml 的副本来覆盖它。 (或使用形状追踪模块来找到这个形状并创建一个替代)。

在你的副本中,你所要做的就是改变

@Html.ActionLink(T("Sign Out").ToString(), "LogOff", new { Controller = "Account", Area = "Orchard.Users", ReturnUrl = Context.Request.RawUrl }, new { rel = "nofollow" })


@Html.ActionLink(T("Sign Out").ToString(), "LogOff", new { Controller = "Account", Area = "Orchard.Users", ReturnUrl = "/My/LogOff/Confirmation/Page" }, new { rel = "nofollow" })

方法二:IUserEventHandler

对于更动态的需求,您可以实现 Orchard.Users.Events.IUserEventHandler界面,当 LoggedOut 时重定向到您的确认页面方法被调用:
public class LoggedOutRedirect : IUserEventHandler
{
private readonly IHttpContextAccessor _httpContext;
public LoggedOutRedirect(IHttpContextAccessor httpContext)
{
_httpContext = httpContext;
}

public void LoggedOut(IUser user)
{
_httpContext.Current().Response.Redirect("http://www.google.com/");
}

public void Creating(UserContext context) { }
public void Created(UserContext context) { }
public void LoggedIn(IUser user) { }
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) { }
}

希望能帮助到你!

关于asp.net-mvc - Orchard CMS : Sign Out (Log Off) Confirmation Page,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11585608/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com