作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户从前端注销时是否会触发事件,我如何使用该事件将用户重定向到特定 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" })
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/
我是一名优秀的程序员,十分优秀!