2011-03-15 85 views

回答

0

你可以寫一個自定義的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() 
{ 
    ... 
} 
+0

@tk,是的,它是可能。您可以在作爲您的應用程序入口點的操作中執行此操作:檢查它是否是Intranet用戶,以及它是否發出某個特定用戶ID的身份驗證Cookie。 – 2011-03-16 15:44:35

+0

thnx,我無意中刪除了我原來的評論,這是要求如何爲Intranet用戶分配一個任意的UserID。 – 2011-03-16 15:47:34