2017-12-15 26 views
0

私には問題があり、わかりません。 プログラムがActive Directoryアカウントを使用してSQL Serverに接続できるようにするには、接続文字列が必要です。VB.net - Active Directoryの接続文字列

ただし、Active Directoryアカウントはログインしているユーザーとは異なります。私たちはユーザーがプログラムだけでSQLにアクセスできるようにしたいからです...どのようにして、プログラムのADアカウントではなく、ユーザーのADアカウント?

+0

ユーザーADの代わりに接続文字列にプログラムAD-Accountを挿入するだけで済みます。あなたはこれを試しましたか?またはあなたの質問を指定してください! – cramopy

+0

例がありますか? –

答えて

0

プログラムに専用のサービスアカウントを使用する場合は、統合ログインではなくSQL(混合)ログインを使用する必要があります。

現在のプロセスを実行しているアカウントとは異なるActive Directoryアカウントの資格情報を使用してSQL Serverに接続する方法はありません。統合Active Directory認証を行う場合、Sql Serverはドメインによって発行されたトークンのみを使用します。それは決してパスワードを見ることさえできないので、そのログインを行うために書くことができる接続文字列はありません。

最も近いのは、目的のユーザーアカウントとしてアプリケーションを実行するWindowsでスケジュールされたタスクをセットアップすることです。その後、タスクを開始するための他のアカウントへのアクセス権を与えることができます。

+0

OK、私は十分に自分自身を説明していないか、あなたの答えを理解していないと思います... 統合セキュリティを使用してSQLデータベースに接続しようとしていますが、 SQL Serverにアクセスできないため、失敗します。 ユーザーがSQL Serverにアクセスできない、またはアクセスを許可していないときに、アプリケーションを使用してSQLデータベースに接続するにはどうすればよいですか? –

+0

@ MarkSmithアカウントにサーバーへのアクセスを許可します。 ** SQL ServerはActive Directoryの資格情報を検証しません。ユーザーがActive Directoryに接続されているコンピュータにログインすると、認証トークンが発行されます。 SQL Server統合認証では、これらのトークンの検証のみが行われます。統合認証は、誰のユーザー名またはパスワードも決してチェックしません。別のADユーザーのトークンをSql Serverに送信する唯一の方法は、そのユーザーとしてプログラムを実行することです(シフトキーを押したまま、プログラムアイコンを右クリックし、[別のユーザーとして実行]オプションを使用します)。 –

+0

OK、ありがとう...私は偽装を使用して、プログラムが現在ログインしているユーザーとは異なるADアカウントを使用できるようにしました。 –

関連する問題