1、定义filter:
MemberPcAuthenticationAttribute
代码
public class MemberPcAuthenticationAttribute : ActionFilterAttribute
{
#region Overrides of ActionFilterAttribute
/// <summary>
/// 在执行操作方法之前由 MVC 框架调用。
/// </summary>
/// <param name="filterContext">筛选器上下文。</param>
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//当前访问地址
String currentUrl = RequestHelper.Url();
MemberInfo loginMemberInfo = SourceCodeService.GetMemberLoginInfoForPc();
//如果未登录则跳转至登录页
if (loginMemberInfo == null)
{
filterContext.Result =
new RedirectResult("/login/index?returnUrl=" + HttpUtility.UrlEncode(currentUrl));
//filterContext.HttpContext.Response.Redirect("/login/index?returnUrl=" + HttpUtility.UrlEncode(currentUrl));
//return;
}
}
#endregion
}这里需要注意使用filterContext的result来定义相关的返回值,不能使用 filterContext.HttpContext.Response.Redirect("/login/index?returnUrl=" + HttpUtility.UrlEncode(currentUrl));
这里需要注意一下