2017-11-22 21 views
0

Webサービスのログを有効にして、アプリサービスとしてAzureでホストされている「クラシックな」asp.net Webアプリケーションがあります。私のログには、便利なcs-usernameプロパティが含まれています。これは、ログインしたユーザーのユーザー名(asp.net IDを使用)です。IISのcs-username(username)がazureにログインします

私はasp.netコアWebアプリケーションも持っています。これは、ユーザーを認証するのと同様の方法でIDを使用します。しかし、IISログでは、私はcs-usernameを取得しません。誰でもasp.netコアでそれを得ることが可能かどうかを伝えることができますか?

答えて

1

aspnetコアアプリケーションでwindows認証を使用すると、cs-usernameが入力されることになります。それを言って、統合されたWindows認証を使用しないでください。従来のASPアプリケーションでは、IIS処理パイプライン内のISAPIフィルタでした。したがって、IISはその情報にアクセスしてログに記録することができました。 ASP.Netコアアプリケーションではそうではありません。 Aspnetコアはkestrelと呼ばれる独自のWebサーバーを使用し、IISは単にプロキシとして機能します。技術的には、IISはその要求で何が起きているのか分かりません。それは要求を受け取り、要求者への応答を提供するだけです。それで全部です。

aspnetコアからのログを厳密にログから取得する場合は、web.configを使用してAspnetcoreモジュールログを有効にする必要があります。ログを書き込むディレクトリを与える必要がありますが、私はそれが紺碧の上でどのように動作するのかわかりません。

あなたは晴れ間にいるので、アプリケーションの洞察を有効にしてそこからすべての情報を収集することが最善の方法です。 Aspnetコアは優れたログを処理します。また、serilogのようなログコレクタを使用して、SQLサーバやファイルやログにログを収集して保存することもできます。あなたがそのルートに行きたい場合は、serilogとsinksを見てください。

関連する問題