首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >认证与RouteConfig

认证与RouteConfig
EN

Stack Overflow用户
提问于 2019-04-23 18:52:07
回答 1查看 162关注 0票数 0

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

这就是我的配置

RouteConfig

代码语言:javascript
复制
  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

代码语言:javascript
复制
 <authentication mode="Forms">
      <forms defaultUrl="~/Home/index" loginUrl="~/Account/login" timeout="60" />
 </authentication>

控制器

代码语言:javascript
复制
 [AllowAnonymous]
 public class HomeController : BaseController
代码语言:javascript
复制
  [AllowAnonymous]
  public class AccountController : BaseController

我不想重定向到“localhost/帐户/登录”

更新

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

代码语言:javascript
复制
public class BaseController : Controller
{
  protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var load = (HomeModel)Session["SessionLayout"] == null;

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

                PageLoad();
            }

           ...
        }
    }   
}
EN

回答 1

Stack Overflow用户

发布于 2019-04-23 19:16:29

这是一个例子,我是如何使用actionfilter属性的,我希望它能有所帮助。

Actionfilter属性的代码;

代码语言:javascript
复制
namespace  CP.Controladores
{
public class ValidateCaptchaAttribute : ActionFilterAttribute{

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

控制器的代码。

代码语言:javascript
复制
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
[CP.Controladores.ValidateCaptcha()]
public ActionResult MailDeContacto(FormCollection values, bool 
CaptchaIsValid)
{
    // Do something
}

在标记该方法时,此过滤器只与操作"MailDeContacto“相关,否则您可以在全局筛选器中设置,并且该过滤器将在所有应用程序中产生影响。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55817664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档