質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

Microsoft Edge

Microsoft Edgeは、マイクロソフト社が開発する新しいWebブラウザです。Windows 10から標準搭載されており、Internet Explorerとは違うレンダリングエンジンが採用されています。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

Q&A

0回答

2013閲覧

.NetCore WebAPI Google Chrome & MS EdgeにおけるWindows認証について:ChromiumでWindows認証のプロンプトが表示される

Haru3839

総合スコア0

.NET Core

.NET Coreは、マネージソフトウェアフレームワークでオープンソースで実装されています。クロスプラットフォームを前提に考えられており、Windows/Mac/Linuxで動くアプリケーションを作成することが可能です。

Microsoft Edge

Microsoft Edgeは、マイクロソフト社が開発する新しいWebブラウザです。Windows 10から標準搭載されており、Internet Explorerとは違うレンダリングエンジンが採用されています。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Authentication

Authentication(認証)は正当性を認証する為の工程です。ログイン処理等で使われます。

0グッド

0クリップ

投稿2020/11/18 02:23

#前提
.Net Core3.1でWebAPIを開発しており、Windows認証を利用したSSOを実現しようとしています。
フロントエンドはvue.jsでUIを作成しており、ajaxで上記のAPIを利用するという構成になっています。
対象のブラウザはIE11, Microsoft Edge, Google Chromeとしております。
#問題
Microsoft Edgeでは、ブラウザでUIを表示した際にユーザ情報入力のプロンプトが表示されるものの、入力が成功すれば、次回からプロンプトが表示されず、WebAPI側でユーザ情報が正しく取得できます。
Google Chromeに関しては、ユーザ情報入力のプロンプトが表示され、正しい情報を入力してもWebAPI側のAuthorizeが失敗しているようで、ユーザ情報の取得まで確認できていません。
IE11では特にプロンプトは表示されず、Windowsにログインしているユーザの情報がWebAPI側で取得できております。
#やりたいこと
Microsoft EdgeおよびGoogle Chromeでプロンプトを表示させず、Windows認証によるユーザ情報の取得を行いたいです。
ユーザ情報の取得にはstring userName = HttpContext.User.Identity.Name;を利用しています。

.Net CoreのStartup.cs内はWindows認証を使用するために、以下のように記述しています。

C#

1public void ConfigureServices(IServiceCollection services) 2 { 3 4 services.Configure<AppSettings>(Configuration); 5 6 services.AddHttpContextAccessor(); 7 8 services.AddControllers(); 9 10 services.AddAuthentication(IISDefaults.AuthenticationScheme); 11 }

#環境情報
Google Chromeのバージョン
バージョン: 86.0.4240.193(Official Build) (64 ビット)

Microsoft Edgeのバージョン
バージョン 86.0.622.63 (公式ビルド) (64 ビット)

IISの設定
IIS version 10
匿名認証 --- Off
Windows認証 --- On
![イメージ説明
Windows認証のProvider
Negotiate --- 削除
NTLM --- 有効
イメージ説明
インターネットオプション
セキュリティ設定 → ローカルイントラネットの設定
ユーザ認証 --- 現在のユーザ名とパスワードで自動的にログオンする
イメージ説明
ゾーンへの追加 --- http://localhost
詳細設定 --- 統合Windows認証を使用する*
イメージ説明

どのようにしても以下のプロンプトが表示されます。
Chrome
イメージ説明
Microsoft Edge
イメージ説明

参考にした記事抜粋
1.How to enable Auto Logon User Authentication for Google Chrome

2.Chromium EdgeでWindows認証に失敗する場合の対処方法

どなたかご存知でしたらご教授お願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/11/18 02:49

回答未満なので当コメントのみですが、Basic認証やDigest認証と同じく、クライアント側(ブラウザ側)でHTTPのヘッダー部に適切な認証用フィールドをセットし、サーバー側とやり取りする必要があるはずです。 https://docs.microsoft.com/ja-jp/dotnet/framework/wcf/feature-details/understanding-http-authentication https://www.keicode.com/iis/iis-authentication.php ブラウザにそういった機能を追加するプラグイン(自作含む)があり、HTTPのヘッダーフィールドにセットすることができればWindows認証のダイアログボックスを出さずに処理を続行できると思いますが、かなり難しそうです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問