Подключение к базе данных SQL Server с проверкой подлинности Windows? - PullRequest
1 голос
/ 27 октября 2011

Когда пользователь пытается подключиться к базе данных SQL Server через проверку подлинности Windows в моем приложении ASP MVC 3 со следующей строкой подключения:

<add name="btnintranetContext" connectionString="Data Source=BTN-SERVER;Initial Catalog=Intranet;Integrated Security=SSPI;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>

Они получают следующую ошибку:

Cannot open database "Intranet" requested by the login. The login failed.
Login failed for user 'User'. 

Я понимаю, что это значит, это означает, что я не предоставил этому пользователю доступ к базе данных, но я хочу, чтобы пользователь мог иметь доступ к базе данных, не предоставляя им всем доступ к ней.Я попытался указать конкретного пользователя базы данных в строке подключения следующим образом:

<add name="btnintranetContext" connectionString="Data Source=BTN-SERVER;Initial Catalog=Intranet;User Id=mylogin;Password=mypassword;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>

Но я получаю новую ошибку:

Login failed for user 'mylogin'.
The provider did not return a ProviderManifestToken string.

Но я точно знаю, что mylogin имеет доступк базе данных, потому что, когда я пытаюсь получить доступ к базе данных с помощью строки подключения проверки подлинности Windows, это работает.Но по соображениям безопасности я не хочу предоставлять всем, кто использует мое приложение, доступ к базе данных, поэтому я попытался указать пользователя в строке подключения.

Дополнительная информация из моего файла web.config:

<authentication mode="Windows" />
<identity impersonate="true" />
<trust level="Full"/>
<authorization>
      <deny users="?" />
      <allow users="*" />
</authorization>

1 Ответ

1 голос
/ 27 октября 2011

Установите, если это вообще возможно, и затем предоставьте пользователю, работающему на веб-сайте IIS (обычно NETWORK SERVICE, по умолчанию) доступ к базе данных.
Если по какой-либо причине установка impersonate в значение false невозможна, вместо этого следует использовать проверку подлинности SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...