1
我正在我的公司運行帶有身份驗證的mvc web應用程序。有沒有辦法跳過表單身份驗證的Intranet訪問?
爲了方便起見,我希望允許同一個Intranet中的人員在不登錄的情況下訪問此Web應用程序。
有沒有辦法跳過基於UserHostAddress的登錄頁面?
我正在我的公司運行帶有身份驗證的mvc web應用程序。有沒有辦法跳過表單身份驗證的Intranet訪問?
爲了方便起見,我希望允許同一個Intranet中的人員在不登錄的情況下訪問此Web應用程序。
有沒有辦法跳過基於UserHostAddress的登錄頁面?
你可以寫一個自定義的AuthorizeAttribute
用於此目的:
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()
{
...
}
@tk,是的,它是可能。您可以在作爲您的應用程序入口點的操作中執行此操作:檢查它是否是Intranet用戶,以及它是否發出某個特定用戶ID的身份驗證Cookie。 – 2011-03-16 15:44:35
thnx,我無意中刪除了我原來的評論,這是要求如何爲Intranet用戶分配一個任意的UserID。 – 2011-03-16 15:47:34