/// 有登录入口的过滤器 继承此BaseController就可以了
/// </summary>
public class BaseController : Controller,IAuthorizationFilter
{
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new RedirectResult("/Home/Index");
}
else {
filterContext.Result = new RedirectResult("/Login/Index");
}
}
/// 嵌入到别人的网站下无登录入口过滤器
/// </summary>
public class ValidateLogin : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//在判断IsAuthenticated前要在赋值 使用此方法就可以 FormsAuthentication.SetAuthCookie("testwty",false);
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new RedirectToRouteResult("Default", new RouteValueDictionary(new {controller ="Home",action="ErrorDemo"}));
}
}
}
[ValidateLogin]属性就可以了
</authorization>