0

Webサービスに接続するリモートクライアントで実行されているWindowsアプリケーションを使用する必要があります。WebサービスはSQLデータベースにアクセスして、ユーザーとロールを確認し、その他のタスクを実行します。ASP.NETメンバーシップを使用して、ユーザーと役割を管理しています。ASP.NETメンバーシップを持っており、Webサービスは開発マシンで動作しています。データベースにアクセスしないメソッドにアクセスすると機能するサービス参照を備えたWindowsクライアントがありますが、データベースメソッドにアクセスするサービスメソッドにアクセスしようとすると、ユーザーは信頼できるSQLServer接続に関連付けられていません。これを修正しようとすると、さまざまな権限エラーが発生しますが、これが要点です。WindowsクライアントにDB権限を必要としないようにします。ユーザー名とパスワードをWebサービスに送信してから、WebサービスがMembership.ValidateUser(userName、password)をラップします。

誰かがこれを設定する方法を教えてもらえますか?

4

2 に答える 2

1

You should consider setting up SQL Server to use SQL and Windows Authentication (mixed mode). It's most likely running in Windows Authentication mode only. You can take a look at this link to get started.

It sounds like, by the way you have it designed, is that you would have to set up an account for each user. In my experience it's best to just create a specific SQL account with the necessary permissions, and have each client use that account. You could specify this in the connection string.

于 2012-06-04T19:39:45.320 に答える
0

Assuming you have named pipes authentication enabled in SQL, your SQL connection string in your ASP.NET application could be configured to use integrated security (Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;). Then in SSMS, give the appropriate ASP.NET user privileges to the database. The user that IIS uses depends on what version of IIS you're running, and can be seen in the App Pool configuration for the server in question.

于 2012-06-04T19:45:55.597 に答える