powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Доступ к серверу по Инету
15 сообщений из 15, страница 1 из 1
Доступ к серверу по Инету
    #32020250
Mici
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема - не могу добраться до своего сервера через инет.
ODBC драйвер говорит что то об отсутствии трастового соединения с сервером
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020252
Фотография cvasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какой метод аутентификации Вы используете?
В Вашем случае IMHO удобнее было бы настроить сервер на использование смешанного метода, когда SQL сервер может сам авторизовать пользователей по логину и паролю. При этом трастового соединения не понадобится. Иначе вам придется сначала организовать вход вашей удаленной машины в домен, а уж потом коннектиться к серверу.
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020263
Axl_Dead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот вечно воды намутят вместо того чтобы код дать...
Вот он для trust connections:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
' Initialize variables.
Set cnn = Server.CreateObject("ADODB.Connection")

' Put text box values into connection variables.
ServerName = "ALA001"
DatabaseName = "forum"

' Connection to SQL Server without using ODBC data source.
cnn.Open "Driver={SQL Server};Server="&ServerName&";Trusted_Connection=yes;Database="&DatabaseName

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

И ODBS не нужен.

Главное здесь последняя строка определяющая анонимное соединение k SQL Server. Однако на нем также должна быть заведена учетная запись интернет-пользователя IUSR_имясервера.

А вот у меня другая проблема: Как получить имя пользователя домена, пытающегося получить доступ к ресурсам SQL сервера?
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020275
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Axl_Dead
>Главное здесь последняя строка определяющая анонимное соединение k SQL Server.
Это не анонимное, а доверительное соединение, при котором SQL Server доверяет сетевой аутентикации пользователя, т.е. просто обращается за подтверждением к соответсвующему компьютеру (контоллеру домена или локальной машине).
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020397
Axl_Dead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да неверно выразился.
Тем не менее это позволяет реализовать ДОВЕРИТЕЛЬНОЕ соединение для АНОНИМНОГО пользователя интернет созданного автоматически при инсталляции IIS. В противном случае придется заводить некого специальную пользовательскую запись с правами гостя как аккаунт домена так и пользователя БД. Да еще в скрипте прописывать имя и пароль пользователя. К тому же я не знаю не вызовет ли это конфликта пользовательских запросов.

Все это мы уже проходили, а вот что по моему предыдущему вопросу?
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020400
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле соединение происходит не между пользоателем и SQL, а между IIS и SQL, а вот SQL разрешает доступ IIS к своим ресурсам на основании добавленного вами логина IUSR_имясервера.
Т.е. схема такая

User -- WAN, Internet(http?) --> IIS server -- LAN(tcp/ip) --> SQL
Таким образом IIS и SQL все равно находятся в одной локальной сети(домене).

У Mici насколько я понимаю схема подключения такая

User -- WAN, Internet(tcp/ip) --> SQL

В этом случае говорить от доверительном подключении IMHO нельзя, если только не организована,например, VPN, которая даст пользователю возможность сначала попасть во внутреннюю сеть(залогиниться в домен). Поэтому как предложил cvasil, нужно использовать SQL аутентификацию. Кроме того, в некоторые готовые программы(QA, EM) невозможно вставить предложенный вами код


К вашему вопросу. Ну а что вы хотели ? Вы используете ASP, который выполняется на серверной стороне(IIS сервером) от имени учетной записи, под которой стартует IIS и соединение с SQL сервером устанавливаете для этой же учетной записи. Так что для SQL все ваши пользователи скрываются за IIS.
Можно наверное как-то получить данные о пользователе с помощью ASP и передавать их как параметры в запросах/процедурах. Но тут я пас - ASP не моя область, наверняка кто-то из участников форума лучше знаком с этой проблемой.
Лично я использую SQL2000, где настроена поддержка XML. Там можно указать, как SQL аутентифицирует пользователя, который открывает XML. Я выбрал Windows Integrated Authentication.
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020407
Axl_Dead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да действительно, об этом я не подумал. Собственно говоря вопрос был не SQL, а о ASP. Туда и надо переадресовать его. Мне просто не хочется заставлять своих editors допольнительно вводить пароли (оговорюсь речь идет о Intranet). А вот если бы удалось заставить IIS распознавать пользователя уже вошедшего в домен, было бы здорово... Или с группами поиграть? Включить их в некую условную группу домена и выдать права на редактирование таблиц.
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020412
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO
даже если вы узнаете имя пользователя и его пароль в домене (скажем через Active Directory), то все равно не сможете использовать их в ASP для создания доверительного соединения, т.к. выполнение cnn.Open "Driver={SQL Server}; Server="&ServerName&"; Trusted_Connection=yes; Database="&DatabaseName происходит на стороне IIS сервера от имени его учетной записи и эти данные будут автоматически использоваться из-за Trusted_Connection=yes. По-моему так
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020520
Axl_Dead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если connection не trusted? Под какой записью тогда пользователь обращается к базе? Очевидно под той под которой он вошел в домен...
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020529
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При SQL authentication строка подключения выглядит так
Driver={SQL Server}; Server="&ServerName&";UID=username;PWD=userpassowrd; Database="&DatabaseName
и в этом случае SQL не проверяет авторизован пользователь в домене, а только имеется ли такой пользователь на самом SQL сервере(ну и пароль конечно).

Т.е. если вы будете использовать такую строку подключения, прописанную явно, то опять же все конечные пользователи будут скрываться для SQL за этим логином.
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020531
SergD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASP позвлояет для intranet получить доменное имя пользователя вот его то и можно использовать для идентификации пользователя а как это делать вырезать ли из Domen\User - Usera и прописать в конекшен стринг (естественно все Usera должны существовать на SQL) или таскать везде параметром имя пользователя - дело вкуса, я пользую второй способ, чтобы не возиться с потдержкой большого числа пользователей на SQL.

С уважением, Сергей.
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020534
Axl_Dead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Glory:
Теперь все понятно с SQL. Спасибо!

2 SergD:
Так это как раз то что и нужно! Если не трудно напишите как мне выдернуть имя user из домена. Черт с ним с паролем, у все равно все имена юзеров уникальные, а снаружи никто зайти не сможет.

Заранее спасибо!
Axl
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020537
SergD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это все хранится в серверных переменных(IIS):
Request.ServerVariables("LOGON_USER")
И там много еще чего полезного есть

Сергей.
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020539
Axl_Dead
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эти Variables я вдоль и поперек излазил, и на (Logon User) ясно дело внимание обращал. Только у меня эта переменная пустой остается. Может вы знаете в чем дело.

Вот строка:
<%Response.Write("Logon User="&Request.ServerVariables("LOGON_USER") )%>
...
Рейтинг: 0 / 0
Доступ к серверу по Инету
    #32020543
SergD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего Вам на ваше Web приложение нужно явно указать Use unique permissions for this Web applications и сказать что пользователи домена могут его бровзить устанавливается это в Project->Web project из интердева или же через консоль управления IIS.

Сергей.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Доступ к серверу по Инету
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]