身份验证和RouteConfig

问题描述 投票:0回答:1

在第一次加载时,我的应用程序应该显示“localhost / home / index”,但总是将我重定向到“localhost / Account / login?ReturnUrl =%2f”

这是我的配置

RouteConfig

  public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }

WebConfig

 <authentication mode="Forms">
      <forms defaultUrl="~/Home/index" loginUrl="~/Account/login" timeout="60" />
 </authentication>

控制器

 [AllowAnonymous]
 public class HomeController : BaseController
  [AllowAnonymous]
  public class AccountController : BaseController

我想不要重定向到“localhost / account / login”

更新

第一个加载总是进入条件并执行RedirectToLoginPage方法

public class BaseController : Controller
{
  protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var load = (HomeModel)Session["SessionLayout"] == null;

...
            if (load)
            {
                FormsAuthentication.SignOut();
                //FormsAuthentication.RedirectToLoginPage();

                PageLoad();
            }

           ...
        }
    }   
}

c# asp.net-mvc security account
1个回答
0
投票

这是一个例子,我如何使用actionfilterattribute,我希望它有所帮助。

actionfilterattribute的代码;

namespace  CP.Controladores
{
public class ValidateCaptchaAttribute : ActionFilterAttribute{

    public override void OnActionExecuting(ActionExecutingContext 
    filterContext)
    {
         filterContext.ActionParameters["CaptchaIsValid"] = recaptchaResponse.IsValid;
         base.OnActionExecuting(filterContext);
    }
}

控制器的代码。

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
[CP.Controladores.ValidateCaptcha()]
public ActionResult MailDeContacto(FormCollection values, bool 
CaptchaIsValid)
{
    // Do something
}

标记方法,此过滤器仅与Action“MailDeContacto”相关,否则您可以在globalfilters中设置,过滤器将对所有应用程序产生影响。

© www.soinside.com 2019 - 2024. All rights reserved.