Asp.net mvc 是否有一种方法可以跳过表单验证以访问intranet?

Asp.net mvc 是否有一种方法可以跳过表单验证以访问intranet?,asp.net-mvc,asp.net-mvc-3,Asp.net Mvc,Asp.net Mvc 3,我正在我的公司运行一个带有表单身份验证的mvc web应用程序 出于方便的原因,我希望允许同一内部网中的用户无需登录即可访问此web应用程序 有没有办法根据UserHostAddress跳过登录页面?您可以为此编写一个自定义属性: public class CustomAuthorizeAttribute : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext)

我正在我的公司运行一个带有表单身份验证的mvc web应用程序

出于方便的原因,我希望允许同一内部网中的用户无需登录即可访问此web应用程序

有没有办法根据UserHostAddress跳过登录页面?

您可以为此编写一个自定义属性:

public class CustomAuthorizeAttribute : AuthorizeAttribute
{
    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        if (IsIntranetAddress(httpContext.Request.UserHostAddress))
        {
            return true;
        }
        return base.AuthorizeCore(httpContext);
    }

    private bool IsIntranetAddress(string ip)
    {
        throw new NotImplementedException();
    }
}
然后装饰通常需要使用此属性进行身份验证的控制器/操作:

[CustomAuthorize]
public ActionResult Foo()
{
    ...
}

@是的,这是可能的。您可以在作为应用程序入口点的操作中执行此操作:检查它是否为intranet用户,以及它是否为某个特定用户ID发出身份验证cookie。thnx,我意外删除了我的原始注释,该注释询问如何将任意用户ID分配给intranet用户。