|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Протокол net.tcp Клиент и сервер разнесены (разные компы, разные страны!) При попытке подключения клиента к серверу лезет эксепшен Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2010, 16:19 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Поборол. Была аутентификация Windows. Снял. Сделал так: Код: plaintext 1. 2. 3.
Теперь вылез другой ексепшен: Код: plaintext
Уж не знаю, почему... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2010, 19:02 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Настройка безопасности транспортного уровня требует чето-то такого, на основе которого должен шифроваться трафик. (Это я так думаю). Но этого такого у меня нет, ни сертификата ни авторизации Windows. Подтому пока снял безопасность вообще Код: plaintext 1. 2. 3.
Так пошло поехало. Теперь буду думать о том, как все же трафик закодировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2010, 19:25 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Пытался разобраться с безопасностью для служб WCF и дочитался МСДН-а до полной каши в голове. Создал WCF-сервис, который хостится в службе Windows. Со стороны клиента написано Код: plaintext 1. 2. 3.
Со стороны сервера Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
и не могу теперь соединится со своей службой (при SecurityMode.None все работает норм). Как я смутно догадываюсь теперь нужно где-то указать какие-то Identity у адресов конечных точек. Но что это и где его взять? Не могли бы вы внести небольшой порядок в бардак в моей голове? Для начала не совсем ясно с Behaviors. Как я вижу их можно задавать и для службы в целом и для каждой конечной точки. А как понять какое поведение будет использоваться? С учетными данными вообще каша в голове. Они задаются и для службы и для конечных точек? Покажите пожалуйста на пальцах как в моем примере организовать безопасную коммуникацию на уровне транспорта между клиентом и сервером без использования сертификатов. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2010, 15:46 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Переделал клиента. Теперь он выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Все равно не работает. Что нужно указывать в Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2010, 13:43 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
И тишина! Не верю что никто не знает в чем причина! :) Ведь наверняка причина проста. Может в настройках службы тоже нужно указывать какие-то данные? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2010, 09:48 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Сознавайтесь!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2010, 01:35 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Lexxxxxbinding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows; Windows != Ntlm Windows - это проверка доменной (а не локальной) учетки, протокол Kerberos. (либо использовать доменную учетку, либо делать TcpClientCredentialType.None, либо другой биндинг, например Http, там есть HttpClientCredentialType.Ntlm, либо...) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 09:52 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LRLexxxxxbinding.Security.Transport.ClientCredentialType = TcpClientCredentialType.Windows; Windows != Ntlm Windows - это проверка доменной (а не локальной) учетки, протокол Kerberos. (либо использовать доменную учетку, либо делать TcpClientCredentialType.None, либо другой биндинг, например Http, там есть HttpClientCredentialType.Ntlm, либо...) Да, но там ведь adminService.ClientCredentials.Windows.AllowNtlm = true; (он и по умолчанию включен) Доменная учетка не катит, так как машины могут быть совсем в разных доменах и не в доменах вообще. Привязка нужна именно tcp. И просто TcpClientCredentialType.None не подходит, так как нужно ограничит доступ к службе. Люди говорят что это возможно, но никто не говорит что как. Параметр adminService.ClientCredentials.Windows.AllowNtlm = true мне как бы намекает что можно, но что куда писать никак не соображу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 09:58 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Да и Код: plaintext 1. 2.
в Код: plaintext 1.
ведь можно зачем-то писать? Значит можно как-то это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 10:02 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LexxxxxДа, но там ведь adminService.ClientCredentials.Windows.AllowNtlm = true; (он и по умолчанию включен)Да, действительно... Ну а с TcpClientCredentialType.None работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 10:14 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LRНу а с TcpClientCredentialType.None работает? Да, так все работает нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 10:22 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LexxxxxДа, так все работает нормально.А если попробовать доменную учетку, будет работать? Т.е. Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 10:47 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LRLexxxxxДа, так все работает нормально.А если попробовать доменную учетку, будет работать? У меня нет домена. Есть комп (MyComp) с клиентом, на котором из под учетки Ivanov выполняется клиент службы. На сервере (Biz) запущена служба от имени локальной системы. Так же на червере есть пользователь Ivanov с таким же паролем (vvv) как и на клиенте. Пробовал прописывать Код: plaintext 1. 2. 3.
Не работает. Пробовал запускать на сервере службу от имени Ivanov. Тоже не помогло. Не могу понять "кто на ком стоять должен". Или служба от имени этого иванова должна работать () что не помогло), или какого ей еще рожна надо! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 10:53 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Lexxxxx, а какая ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 10:56 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
"Сервер отклонил учетные данные клиента. " ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 11:09 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
А вот этот пример (в аттаче) будет работать? (у меня работает) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 15:56 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LRА вот этот пример (в аттаче) будет работать? (у меня работает) Еще вспомнил что когда служба и клиент крутились на одной машине все работало. Когда я унес службу на виртуалку (Biz), начались исключения "Сервер отклонил" и пришлось сделать SecurityMode.None (когда я говорил что с TcpClientCredentialType.None работает нормально, я перепутал с SecurityMode.None. Завтра проверю как оно будет с TcpClientCredentialType.None). По Вашему примеру. Сначала не удалось запустить его по причине того, что служба не имеет прав на указанный урл. Переписал Код: plaintext 1.
на Код: plaintext 1.
Тогда запустилось, но при вызове метода "Сервер отклонил..." ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 22:56 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Lexxxxx(не пойму, зачем указан Uri("http://localhost:8000/") если используется привязка тср?) Тогда запустилось, но при вызове метода "Сервер отклонил..." а я и не заметил :) пример взят с www.idesign.net , я подправил лишь конфиги - добавил Код: plaintext 1. 2. 3. 4.
Код: plaintext 1. 2.
Зато была проблема с тем что на серверной ОС был включен "Use simple file sharing" (проверьте, эта опция должна быть отключена, иначе будет ошибка типа "A remote side security requirement was not fulfilled during authentication. Try increasing the ProtectionLevel and/or ImpersonationLevel.") Вот с виртуалкой не пробовал (подозреваю, проблем там может быть...) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2010, 23:36 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LR и эта, видимо, оплошность с Uri("http://localhost:8000/") не должна быть причиной "Сначала не удалось запустить его по причине того, что служба не имеет прав на указанный урл" (по-крайней мере у меня это ни на чем не сказалось) Она это и есть. Там в подробностях исключения есть ссылка на страницу, на которой указано как в командной строке зарегистрировать урл для службы. Но это не наш случай, так что я думаю на это пока отвлекаться не стоит. LR Зато была проблема с тем что на серверной ОС был включен "Use simple file sharing" (проверьте, эта опция должна быть отключена, иначе будет ошибка типа "A remote side security requirement was not fulfilled during authentication. Try increasing the ProtectionLevel and/or ImpersonationLevel.") Вот с виртуалкой не пробовал (подозреваю, проблем там может быть...) А вот "Простой доступ к файлам" не проверял. В качестве "серверной ос" на виртуалке стоит ХР Про СП3, и по умолчанию простой доступ там вроде включен. Правда ошибок, подобных указанной Вами, не встречал. Завтра проверю что там и как с шарингом. Но не ясно пока чего не заводится ваш пример, хотя толком разбираться лень, спать хочется. Завтра утром буду продолжать разборы. Спасибо Вам за содействие! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 00:12 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LRЗато была проблема с тем что на серверной ОС был включен "Use simple file sharing" (проверьте, эта опция должна быть отключена, иначе будет ошибка типа "A remote side security requirement was not fulfilled during authentication. Try increasing the ProtectionLevel and/or ImpersonationLevel.") ВОТ ТУТ СОБАКА И ПОРЫЛА!!! Правда текст ошибки был как название темы. Но как только я отключил "Простой доступ..." так все и заработало! Оказалось что на "сервере" достаточно иметь не отключенную учетку (правда у меня она с правами админа. с правами буду чуть позже разбираться) пользователя. В credential нужно указать имя компа со службой и логин с паролем этой учетки. Все это сводит Windows аутентификацию к проверке по логину и паролю, которая по доке МС якобы не поддерживается привязкой NetTcpBinding :) СПАСИБО ВАМ ОГРОМНОЕ!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 10:10 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
Lexxxxx (правда у меня она с правами админа. с правами буду чуть позже разбираться) Похоже права в моем случае роли не играют, так как работает даже если цепляешься к учетке с правами "Гости". А это тоже не очень хорошо. А как бы ограничить подключение к группе допустим какой либо группой пользователей? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 10:18 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LexxxxxА как бы ограничить подключение к группе допустим какой либо группой пользователей? как вариант - указать в PrincipalPermissionAttribute параметр Role Код: plaintext 1. 2.
Lexxxxxпо доке МС якобы не поддерживается привязкой NetTcpBinding :)ну, в доке сказано, что если керберосом не получается и AllowNtlm = true, то тады Ntlm (но везде подчеркивается, что керберос - надежная защита, а Ntlm - нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2010, 11:23 |
|
Сервер отклонил учетные данные клиента.
|
|||
---|---|---|---|
#18+
LRно вот как задать для всего сервиса, х.з. (PrincipalPermissionAttribute прицепленный к class MyService : IMyContract приводит к ошибке, запаздывает аутентификация?...) Придумал вариант и описал тут . ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2010, 12:05 |
|
|
start [/forum/topic.php?fid=19&fpage=24&tid=1397570]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
others: | 232ms |
total: | 421ms |
0 / 0 |