加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – Orchard CMS:退出(注销)确认页面

发布时间:2020-12-16 06:31:26 所属栏目:asp.Net 来源:网络整理
导读:是否有一个事件在用户注销前端时被触发,我如何使用该事件将用户重定向到特定的视图或页面?我希望用户在退出后收到一条消息,说明“您已成功注销”. 解决方法 和往常一样,Orchard有不止一种方法可以做到这一点:) 方法1:覆盖用户形状 当您注销时,您将被重定向
是否有一个事件在用户注销前端时被触发,我如何使用该事件将用户重定向到特定的视图或页面?我希望用户在退出后收到一条消息,说明“您已成功注销”.

解决方法

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

方法1:覆盖用户形状

当您注销时,您将被重定向到名为LogOff的Orchard.Users.AccountController上的action方法,该方法接受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(),ReturnUrl = "/My/LogOff/Confirmation/Page" },new { rel = "nofollow" })

方法2: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) { }
}

希望能帮助到你!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读