2017-10-02 2 views
0

私は、ユーザーID名を持つを得ることができるASP .NETのコアは、以前のASP .NETでIIS(AspNetCoreModule付き)ASP .NETのコアIISホスティングのユーザーID名はにisAuthenticated空で、= falseを

にdllを実行していますよ:

HttpContext.Current.User.Identity.Name 

IISコンテキストで直接呼び出されたためです。 ASP .NETコアと

結果がの場合はnullです:

this.Request.User.Identity.Name 

IISがそれを転送していないか、または多分私のAspNetCoreモジュールがそれを受信して​​いないようです。 ユーザーID名はどのように受け取ることができますか?

答えて

0

私はこの問題を解決しました。これは私がそれをデバッグする方法:ユーザーの資格情報は、IISから渡された場合、私はわからなかったので

を、私は、ファイルをログに記録するコードからリクエストのHTTPヘッダをプリントアウトすることを決めました。答えはそこにあった。私はIISが基本認証で動作することを理解しました。

基本認証がAspNetCoreではサポートされていないようですので、私は「認証」ヘッダからの情報を解析し、それから、新しいユーザーIDを作成するミドルウェアの実装を追加しました。

私は私の独自の実装をしたが、以下の記事は私をたくさん助けた:

https://blog.dangl.me/archive/http-basic-authentication-in-aspnet-core-projects/

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware

関連する問題