2016-10-06 5 views
1

私のHangfire DashboardのAuthroizationFilterを作成する必要があります。OWINを使用してアプリケーションのローカルサーバーからリクエストが届いていますか。

Azure VM上で動作し、設計上、ローカル要求からの要求のみを受け入れる必要があります。

Webアプリケーションが実行されているのと同じVM上のWebブラウザからの要求のみを検証するAuthorizationFilterを作成します。

私はこのフォームOwinContext決定する必要があります: - 要求のコンテキストでヘッダをチェックについて

public class MyRestrictiveAuthorizationFilter : IAuthorizationFilter 
{ 
    public bool Authorize(IDictionary<string, object> owinEnvironment) 
    { 
     // In case you need an OWIN context, use the next line, 
     // `OwinContext` class is the part of the `Microsoft.Owin` package. 
     var context = new OwinContext(owinEnvironment); 

     // Allow all local request to see the Dashboard 

     return true; 
    } 
} 

答えて

2

私だけIOwinContextが露出したカスタムCookieAuthenticationProviderに取り組んで同様の問題がありました。 context.RequestIsLocalプロパティを公開しませんでした、しかし、以下が利用可能であった:

context.Request.Uri.IsLoopback 

プロパティが127.0.0.1localhost要求に対してtrueました。

0

何を?

context.Request.Headers["Referer"] 

値にlocalhostまたは127.0.0.1などが含まれている場合は、その値に制限します。

注意:このヘッダーはなりすまし可能です。ダッシュボードへのアクセスを制限するより良い方法があるかもしれません。インターネットにアクセスする必要がありますか?

0

HttpRequest.IsLocalを使用できますか?これは、要求のIPアドレスがサーバーのIPアドレスと同じかどうかを示します。

return context.Request.IsLocal; 
関連する問題