2014-11-13 3 views
0

Моя установка.net проблема аутентификации SQL

У меня есть приложение WinForm, который подключается к local sql express db и делает различные операции (updates,inserts,deletes) SQL-экспресс является локальным и я использую следующую строку соединения (от app.config)

<connectionStrings> 
    <add name="SQLConnectionString" connectionString="Data Source=.\sqlexpress;Initial Catalog=database1;Integrated Security=SSPI" /> 
    <!--<add name="SQLConnectionString" connectionString="" />--> 
</connectionStrings> 

Мое приложение первой аутентификации пользователя при входе в (через Database1 ... поэтому он может подключиться к БД) Я также возможность подключения к консоли управления SQL без каких-либо проблем. Я вижу и могу изменить таблицы из БД через консоль управления Я получаю «Вход из ненадежного домена и не может использоваться с аутентификацией Windows», когда я пытаюсь выполнять операции с различными таблицами Я также попытался использовать имя сервера вместо «.». в строке подключения безрезультатно. В моем приложении я ссылаюсь на файл app.config, чтобы получить connectionStrings

+0

'Danny G' Посмотрите на эту ссылку, на которой будет показано множество примеров того, как подключиться к серверу Sql через C# [ConnectionStrings] (https://www.connectionstrings.com), здесь [сервер MSDN Sql Строки подключения] (http://msdn.microsoft.com/en-us/library/jj653752 (v = vs.110) .aspx) link – MethodMan

+0

Проблема не связана через строку подключения. Как я уже упоминал, мое приложение проверяет пользователей через журнал на экране против БД. Эта часть работает отлично. –

+0

Помогает ли это: http://stackoverflow.com/questions/546746/sql-server-2008-windows-auth-login-error-the-login-is-from-an-untrusted-domain Или это: http://support.microsoft.com/kb/555332 – Fred

ответ

0

Скорее всего, проблема в том, что ASP.NET по-прежнему настроен по умолчанию, не проходя по контексту безопасности. Вы должны включить ASP.NET Impersonation Authentication, выполнив следующие действия из командной строки:

appcmd set config /commit:WEBROOT /section:identity /impersonate:true 

Насколько строка соединения идет, оно должно быть в порядке. Разница между SSPI и True для варианта Integrated Security является:

  • ССПИ (поставщика поддержки безопасности Interface) означает использование безопасности Windows, если ID пользователя и Пароль отсутствуют, и использовать безопасности SQL Server, если они присутствуют.
  • Истинные означает использование Windows, интегрированной безопасности, чтобы войти в SQL Server, даже если строка соединения включает в себя ID пользователя и пароль настройки.

Поскольку вы не указываете Логин пользователя и пароль в строке подключения, то ССПИ и Истинные значения должны эффективно быть одинаковыми.

Другие области, чтобы проверить, если выше не работает:

  • Учетная запись проверки подлинности службы IIS
  • Локальная политика безопасности (на основе «Логина от ненадежного домена» часть).