Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Использование проверки подлинности Windows в сетевом приложении.  [new]
Александр_Кеша
Member

Откуда: Томск
Сообщений: 3
Добрый день. Есть такого рода проблема.

Имеется небольшая сеть (1 комп сервер и 10 клиентских компов). На сервере стоит MS SQL Server 2008 (к примеру Standart). В нём создана база данных. Пишу приложение на C# (получает доступ к этой базе данных, берёт из БД какие-то данные и записывает в неё какие-то данные).

Надо реализовать: Использование проверки подлинности Windows на клиентских компах для авторизации в приложении (не совсем понимаю, в какую сторону копать, т.к. сервер БД прописывается по IP и порту, а в этом случае вроде можно использовать только проверку подлинности SQL).

Буду рад любой полезной информации по данной теме (ссылки, названия книг и тд).

С SQL начал работать совсем недавно, поэтому многое ещё не знаю. Заодно посоветуйте какую-нибудь хорошую книгу по SQL Server 2008 ?
18 авг 11, 20:35    [11142403]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Для нормальной работы Windows авторизации нужен домен на основе серверной редакции Windows. Все остальное - от лукавого.
18 авг 11, 20:49    [11142453]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
Александр_Кеша
Member

Откуда: Томск
Сообщений: 3
pkarklin
Для нормальной работы Windows авторизации нужен домен на основе серверной редакции Windows. Все остальное - от лукавого.


Забыл сразу указать. На сервере MS Windows Server 2008. А можно по подробнее, что такое домен? Я понимаю, но видать не совсем правильно.

Как я понимаю. Домен - сетевое имя компьютера, т.е. имя, которое можно использовать вместо IP адреса.
18 авг 11, 20:54    [11142472]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
http://www.microsoft.com/windowsserver2008/en/us/ad-main.aspx
18 авг 11, 21:03    [11142507]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
Александр_Кеша
А можно по подробнее, что такое домен?

тяжело вам придётся
18 авг 11, 21:03    [11142508]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Домен на 1 сервер и 10 рабочих станций -- это из пушки по воробьям.
Чтобы заработала Windows аутентификация достаточно на сервере и рабочей станции создать аккаунты с совпадающими парами логин/пароль.
18 авг 11, 21:29    [11142600]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
invm
Чтобы заработала Windows аутентификация достаточно на сервере и рабочей станции создать аккаунты с совпадающими парами логин/пароль.


Этого будет недостаточно.
18 авг 11, 21:36    [11142617]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62908
Александр_Кеша
Как я понимаю. Домен - сетевое имя компьютера, т.е. имя, которое можно использовать вместо IP адреса.

Нет, домен это не компьютер.
18 авг 11, 21:42    [11142632]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
pkarklin
invm
Чтобы заработала Windows аутентификация достаточно на сервере и рабочей станции создать аккаунты с совпадающими парами логин/пароль.


Этого будет недостаточно.

Вполне достаточно. Только что специально проверил.
18 авг 11, 22:33    [11142755]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
invm
Вполне достаточно. Только что специально проверил.


Логическая связь при этом между компами какая? В одной воркгроуп?
19 авг 11, 10:00    [11143894]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
SamMan
invm
Вполне достаточно. Только что специально проверил.


Логическая связь при этом между компами какая? В одной воркгроуп?
Да.
19 авг 11, 10:24    [11144068]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
aleks2
Guest
invm
pkarklin
пропущено...


Этого будет недостаточно.

Вполне достаточно. Только что специально проверил.


Эээ, дарагой! Это требует Named Pipes. На TCP не робит.
19 авг 11, 10:50    [11144278]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
aleks2
invm
пропущено...

Вполне достаточно. Только что специально проверил.


Эээ, дарагой! Это требует Named Pipes. На TCP не робит.

Я предвидел такой вопрос. Как ни странно, но на TCP тоже робит. И я не вижу ничего дурного в использовании NamedPipes.
19 авг 11, 10:53    [11144311]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
aleks2
Guest
invm
Как ни странно, но на TCP тоже робит.

1. Брешешь.
2. Демонстрируешь абсолютное незнание процесса Windows-авторизации клиента MS SQL.
19 авг 11, 11:16    [11144458]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
aleks2
invm
Как ни странно, но на TCP тоже робит.

1. Брешешь.
2. Демонстрируешь абсолютное незнание процесса Windows-авторизации клиента MS SQL.

Не трынди, если лень проверить. И незнание демонстрируешь сам, ибо нет такого понятия "Windows-авторизация".
А если таки захочешь проверить, то возьми связку W7 и W7 и убедись.
19 авг 11, 11:21    [11144502]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
Anatoly Podgoretsky
Member

Откуда:
Сообщений: 62908
Не понимаю при чем тут "Использование проверки подлинности Windows" и аутентификация + авторизация.
19 авг 11, 11:21    [11144505]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
Александр_Кеша
Member

Откуда: Томск
Сообщений: 3
invm
Домен на 1 сервер и 10 рабочих станций -- это из пушки по воробьям.
Чтобы заработала Windows аутентификация достаточно на сервере и рабочей станции создать аккаунты с совпадающими парами логин/пароль.

Аккаунты создавать непосредственно в винде или же в именах входа БД?

Если БД - то как именно использовать Windows аутентификацию в программе? Если я правильно нашёл, то я могу получить только SID (security id) пользователя на компьютере. А что дальше делать, не совсем понимаю.



Всем откликнувшимся - спасибо за ответы и советы!
19 авг 11, 14:34    [11146538]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
SamMan
Member

Откуда: Moscow
Сообщений: 759
Александр_Кеша
Аккаунты создавать непосредственно в винде или же в именах входа БД?


В винде, конечно. По крайней мере как первый шаг. Имена входов сервера (а не БД) - это уже потом.

invm
Как ни странно, но на TCP тоже робит


А собственно - почему странно и откуда ожидается НЕ работоспособность Win-Authentication по этому протоколу в отсутствие домена? Вопрос всем, не только автору процитированного. :)
19 авг 11, 14:43    [11146653]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
aleks2
Guest
invm
Не трынди, если лень проверить. И незнание демонстрируешь сам, ибо нет такого понятия "Windows-авторизация".
А если таки захочешь проверить, то возьми связку W7 и W7 и убедись.

Блаженны верующие.

SamMan
А собственно - почему странно и откуда ожидается НЕ работоспособность Win-Authentication по этому протоколу в отсутствие домена? Вопрос всем, не только автору процитированного. :)


"Trusted Authentication" подразумевает, что сервер НЕ получает учетных данных пользователя, а просто ВЕРИТ доменному контроллеру, что подключается именно тот пользователь, который подключается. Сами понимаете, нету контроллера - некому подтвердить.
19 авг 11, 15:33    [11147231]     Ответить | Цитировать Сообщить модератору
 Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
aleks2
Блаженны верующие.

http://support.microsoft.com/kb/811889/en-us
The SQL Server driver on a client computer uses integrated security to use the Windows security token of the user account to successfully connect to a computer that is running SQL Server. The Windows security token is delegated from the client to the computer that is running SQL Server. The SQL Server driver performs this delegation when the user's security token is delegated from one computer to another by using one of the following configurations:

  • NTLM over Named Pipes (not using Security Support Provider Interface [SSPI])
  • NTLM over TCP/IP sockets with SSPI
  • Kerberos over TCP/IP sockets with SSPI

    Security Support Provider Interface (SSPI) is a set of Windows APIs that permits delegation and mutual authentication over any generic data transport layer, such as TCP/IP sockets
  • 19 авг 11, 16:47    [11147955]     Ответить | Цитировать Сообщить модератору
     Re: Использование проверки подлинности Windows в сетевом приложении.  [new]
    SamMan
    Member

    Откуда: Moscow
    Сообщений: 759
    aleks2
    Сами понимаете, нету контроллера - некому подтвердить


    Совершенно верно, вы описали необходимое условие для аутентификации по протоколу Керберос. А теперь - вопрос для самоконтроля: является ли Керберос единственным протоколом при TCP/IP по которому SQL Server способен проводить Windows Authentication?

    P.S. Подсказка выше, если че...
    19 авг 11, 17:07    [11148114]     Ответить | Цитировать Сообщить модератору
    Все форумы / Microsoft SQL Server Ответить