1

私は最近、クライアント向けの ASP.NET プロジェクトに取り組んでいます。このプロジェクトは、データベースを古い Oracle データベースから新しい SQL Server 2008 データベースに移行することでした。移行はうまくいき、ほとんどの手順は修正にそれほど時間はかかりませんでした。ただし、現在問題が発生しています。これまで、SQL Server 認証を使用し、ユーザー名とパスワードを使用して .NET コードからデータベースにアクセスしていました。以下に接続文字列を示します。

<add key="DatabaseConnectionString" value="Data Source=DATASOURCE;Initial Catalog=DATABASE;User Id=USERID;Password=PASSWORD;"/>

これは正常に機能していましたが、最近、クライアントから次のようなメールを受け取りました。

「.NET アプリがデータベースにアクセスするためのローカル SQL アカウントを使用する代わりに、Active Directory アカウントを使用してください。web.config<domain name>/<username>では、<username>.

私が混乱しているのは:

SQL Server 内の認証モードを Windows 認証に変更する必要がありますか? クライアントはそれを から<username>へ、<domain>/<username>またはその逆に変更するつもりですか? web.config のどこでユーザー名を変更する必要がありますか? それは接続文字列にありますか?

これに関するヘルプは素晴らしいでしょう。

また、これを知る必要があるかどうかはわかりませんが、とにかく追加しました...

これは、web.config の認証セクションです。

<identity impersonate="true"/>
<authentication mode="Windows"/>
4

1 に答える 1

2

SQL Server 内の認証モードを Windows 認証に変更する必要がありますか?

いいえ、Windows 認証は常に有効になっているためです。ただし、Sql サーバー認証を無効にすることをお勧めします。

クライアントは「ユーザー名」から「ドメイン/ユーザー名」に変更するつもりですか

いいえ。ドメイン名を追加するだけではありません。Active Directory に対してユーザーを認証し、SQL 接続に委任を使用する必要があります。Windows アカウントを使用するには、特定のアカウントで Sql Server にアクセスするか、Web サイトにログインしたユーザー アカウントにアクセスするかを決定する必要があります。ほとんどの場合、最初の方法の方が優れていると思います。そのためには、接続文字列からユーザー ID とパスワードを削除して "Integrated Security=SSPI" に置き換え、アプリケーション プール ID を Active Directory ユーザー アカウントに設定する必要があります。Sql Server では、このアカウントに必要なことを行う権利を与える必要があります。2 番目の方法では、Web サイトのユーザーに Windows 認証が必要であり、接続に委任を使用します。なりすましで十分かどうかはわかりません。

于 2012-07-17T14:43:34.167 に答える