問題タブ [windows-authentication]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - IIS / ASP.NETのダブルハンドシェイクを排除するにはどうすればよいですか?
企業環境で実行される.NET2.0ClickOnceアプリケーションがあり、Windows認証を介して機能するように設定されています。
そのため、ユーザーはClickOnceを介してアプリをダウンロードし、IISサーバーに接続して、Webサービス呼び出しを介して通信します。
問題は、すべての呼び出しに対してダブルハンドシェイクがあることです。最初の呼び出しで401が生成され、クライアントにネゴシエーションを依頼します。クライアントが認証トークンを送信するため、2番目の呼び出しは成功します。
このダブルハンドシェイクを排除する方法はありますか?これは、アプリケーションの待機時間に多大なオーバーヘッドがかかり、非常に遅く見えるためです。
ありがとう
asp.net - 構成エラー
構成エラーの説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下の特定のエラーの詳細を確認し、構成ファイルを適切に変更してください。
パーサー エラー メッセージ: アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されたセクションを使用するのはエラーです。このエラーは、IIS で仮想ディレクトリがアプリケーションとして構成されていないことが原因である可能性があります。
ソース エラー:
asp.net - 401 ASP.NET Web アプリケーションから ASP.NET Web サービスに接続するときに権限がありません
サーバーが 1 台あります (Windows 2003/IIS 6)。このサーバーには、IIS でいくつかの異なる "Web サイト" が設定されています。各サイトは、IIS で個別のホスト ヘッダー (ポート 80) を使用して構成されます。さらに、各サイトには、指定されたポート番号 (ホスト ヘッダーなし) を介してアクセスすることもできます。
例えば:
MySite1: http://apps.mysite1.com または http://myserver:xxxx
MySite2: http://something.mysite2.com または http://myserver:yyyy
ホスト ファイル (開発マシン) を編集して、各サイトのホスト ヘッダーをローカル マシン (127.0.0.1) にリダイレクトしました。
1 つの IIS サイト (mysite1) に ASP.NET 2.0 Web サイトがあり、別の IIS サイト (mysite2) に ASP.NET 2.0 Web サービスがあります。Web サイトは、次のようなコードを使用して Web サービスと通信します。
すべてのサイトは Windows 統合セキュリティ用に構成され、ASP.NET は <identity impersonate="true" /> を使用した Windows 認証用に構成されています。セキュリティ モデルでは、Web アプリケーションにログインしたユーザーは、Web サービスに至るまで (その後、基盤となるデータベースに至るまで) 認証される必要があると規定されていますが、これは必ずしもここでは関係ありません)。
これで問題なく動作しましたが、Web サービス (新しい方法) を再構築したところ、401 Unauthorized メッセージで終了する Web サービス呼び出しの結果が機能しなくなりました。
ダブルホップの問題のように聞こえます。Web サービスが渡された資格情報を受け入れず、新しい資格情報を渡すのに挑戦していることに関係があると思います。これを確認する方法がわかりません。なぜ挑戦するのかわかりません-私はマシン/ドメイン管理者としてログインしており、IE は [インターネット オプション] > [セキュリティ] タブ > [カスタム レベル] > [イントラネット ゾーンの自動ログオン] で資格情報を渡すように構成されています。はい、関連するサイトが「イントラネット ゾーン」に追加されます。
これをトラブルシューティングする最善の方法は何ですか? 今これを引き起こしている可能性のあるものについてのアイデアはありますか?
ティア!
sharepoint - 複数のドメインにわたるSharePoint(WSS)認証
まず、少し背景があります。DOMAIN_A.LOCALのサーバーでホストされているWSS 3.0に基づくイントラネットサイトがあり、統合Windows認証を使用してDOMAIN_A.LOCALのActiveDirectoryユーザーアカウントに対してユーザーを認証するように設定されています。
この設定は、DOMAIN_A.LOCALのADアカウントを使用してWindowsにログインしているユーザーには問題なく機能しますが、ユーザーが別のドメイン(つまりDOMAIN_B.LOCAL)のADアカウントを使用してWindowsにログインしているPCからサイトにアクセスしようとすると次の問題が発生します。
ユーザーは、ユーザー名だけでなくDOMAIN_A \ UserNameとして資格情報を手動で入力する必要があります。そうしないと、Internet Explorerが自動的にDOMAIN_Bを挿入し、認証が失敗します。
ログインした後、編集のために開くためにドキュメントライブラリ内のMicrosoft Officeドキュメントをクリックするなど、ユーザーが認証をクライアントアプリに渡す必要があることを行うと、無効な資格情報(おそらくDOMAIN_B)は自動的に渡されるため、ユーザーはDOMAIN_Aの資格情報を手動で再入力する必要があります。
私の質問は、これです:
統合Windows認証を使用するときに「デフォルトドメイン」タイプの動作を実装する方法はありますか(基本的なクリアテキスト認証を使用する場合に実行できます)。これにより、DOMAIN_Bのユーザーがユーザー名の前にドメインを入力しない場合、DOMAIN_Aはそれらのために自動的に挿入されますか?
もちろん、この展開には致命的な欠陥がある可能性があることを認識しているので、別の実装の提案も受け付けています。
要約すると、主な問題は、2つの異なる種類のユーザーが1つのSharePointサイトの同じコンテンツにアクセスする必要があることに起因します。DOMAIN_Aのユーザーはすべて、自分自身としてWindowsにログインする独自のフルタイムワークステーションを持っています。残念ながら、 DOMAIN_Bのユーザーは、SharePointでアクセス許可のない一般的な「キオスク」タイプのアカウントを使用してログオンしている共有コンピューターを使用する必要があります。したがって、DOMAIN_Bユーザーは、SharePointの特定のページにアクセスするときにオンデマンドで資格情報を提供する必要があります。DOMAIN_Aの「静的」ユーザーの統合Windows認証の利便性を維持しながら、「キオスク」ユーザーが使用する手動認証の量を最小限に抑えたいと思います。DOMAIN_Bは耐えなければなりません。
security - WinAuth を使用してデータベースに接続する
約 1 週間前に私が尋ねた質問に答えて、SQL 認証ではなく Windows 認証のみを受け入れるようにデータベース エンジンを変更しました。コードはデータベース接続のユーザー コンテキストとは異なるユーザー コンテキストで実行されるため、データベースに接続するには、ユーザー名とパスワードの情報を指定する必要があります。ConnectionString を使用してこれを行うにはどうすればよいでしょうか。もう SQL 認証を使用していないことを思い出してください。
ありがとう、
asp.net - ASP.NET MVCでWindows認証を使用すると、User.Identity.Nameが正しいクレデンシャルを返さない
ASP.NET MVCアプリケーションでWindows認証を使用していますが、ドメインメンバーであるWebサーバーに資格情報を入力するように求められます[ドメイン資格情報を持っており、正常に認証できます]が、コントローラーアクションが「User.Identity.Name」を呼び出すと現在ログインしているユーザーに対してデータベース値をチェックしようとすると、これはローカルマシンからSAMアカウントを返し、DOMAINからのSAMアカウントを返しません。
ローカルマシンのユーザー名(User.Identity.Nameが返す):LOCALPC \ username
私が期待しているもの(これは私がADに対して認証しているものです):DOMAIN \ username
ユーザー名だけではユーザーを正確に確認できないため、問題が発生します。
何かが足りないのですが、クライアントマシンのローカルSAMアカウントとは対照的に、現在認証されているものをWebサーバーに返す方法はありますか?
これが重要な理由は、すべてのイントラネットアプリケーションクライアントがドメインに参加するわけではないためです(ドメインに参加していないが、ADアカウントを持つユーザーに属するマシン)。
sql-server - Webサイトフォーム認証->SQLServerWindows認証
簡単に言うと、オンラインデータベースアクセスシステムの一部として、SQL 2008の新しいBLOBアクセス機能を使用したいと考えています。つまり、SQLServerにログインするときにWindows認証を使用する必要があります。ただし、その性質上、これらすべてのWebサイトのフロントエンドは、そのSQLサーバーに格納されているメンバーシップデータを使用したフォーム認証を使用します。
Webアプリケーションにユーザーアカウントを偽装させてSQLサーバーに接続できるようにするにはどうすればよいですか。つまり、Webサイトにログインしているユーザーのアカウントを使用したくありません。(メンバーシップの詳細はSQLサーバーに保存されているため、これを実行できるわけではありません)
WebサーバーとSQLサーバーは同じネットワーク上の異なるマシン上にあり、Webアプリケーション専用に設定されたユーザーアカウントがあります。
sql-server - 信頼できないドメインからの統合SQLサーバー認証
SQL-Serverアカウントを使用したり、影響を受けるコンピューターを同じドメインまたは任意のドメインに追加したり、ドメインと同じログオン名を使用したりせずに、C#/。NETアプリケーションからSQL-serverを使用したいのですが。
方法はありませんか?誰かがSSPIのMONO実装を使用してこれを実行しようとしましたか?
sql-server - データベース + Windows 認証 + ユーザー名/パスワード?
明示的に指定された資格情報を使用して Windows 認証を使用して SQL サーバーに接続するには、LogonUser、Impersonate、および接続する必要があると常に考えていました。
このリンクは、接続文字列で「uid=...;pwd=...」を指定するだけで、このような手間をかけずに SQL サーバーに接続できることを示唆しているように思えます。私はこの方法が機能しないことを確認するためにテストしましたが、実際には機能しませんでした。そのブログ投稿が msdn.com になかったら、初心者向けの話として片付けていたでしょうが、そうです。
何が欠けているのか誰にも分かりますか?
EDIT1:多くの回答者が、私が言及していることを誤解していました。これは、私が話していたことのコピー/貼り付けです。これは統合 SQL ではなく、IIS によって作成された ASP.NET の偽装でもありません。
asp.net-mvc - ASP.NET MVC アプリケーションが Windows 認証を要求しているのはなぜですか?
ASP.NET MVC アプリケーションを構築し、フォーム認証を使用しています。私のコントローラーアクションには次のものがあります:
[Authorize(Users = "me,joe")]
それはうまくいっています。昨夜、最新の変更を公開して自分の Web サイトを表示しようとすると、Windows 認証ダイアログ ボックスが表示され始めました。すべてのコードを調べましたが、Windows 認証に変更される理由がわかりません。私の web.config ファイルは少なくとも 10 日間変更されていません。開発ボックスからコードを実行すると、これは行われません...ホストから実行された場合のみです。また、コントローラー アクションから Authorize 行を削除しても、それは発生しません。
これを修正するにはどうすればよいですか、またはソリューションをデバッグして、なぜこれが起こっているのかを確認するにはどうすればよいですか?
ところで、私の web.config は次のように述べています。