trusted login to MSSQL from ASP

Все, что вы хотели знать о программизме, но боялись спросить.
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

trusted login to MSSQL from ASP

Сообщение MarkM »

Prerequisites: Win2000 AS, SQL2000, IIS and SQL on different servers in domain.

ASP script

Код: Выделить всё

<%
  Option Explicit
  Dim strConnect
%>

<HTML>
<HEAD>
<TITLE>Using an SSI to hold the Connection String</TITLE>
</HEAD>
<BODY>

<%
  Dim objConn

  Set objConn = Server.CreateObject("ADODB.Connection")
  strConnect = "Provider=SQLOLEDB;Integrated Security=SSPI;Server=SQLDB.SITE.NET,1433;"
  Response.Write strConnect + "<br>"
  objConn.Open strConnect
  Response.Write "Connected!"
  objConn.Close
  Set objConn = Nothing 
%>

</BODY>
</HTML>
IIS website is set to:
Anonymous access - Disabled
Autenticated access - Basic (I tried all of them)

ASP asks to enter domain\username and password, then returns error:

Код: Выделить всё

Microsoft OLE DB Provider for SQL Server error '80004005' 

Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection. 

/tstdbsec/connect.asp, line 19 
What to do?
ura
Житель
Сообщения: 915
Зарегистрирован: 09 мар 2003, 22:46

Сообщение ura »

А тебе нужно только проверить подключение к SQL серверу? База данных там не указана как я вижу.

ASP страница работает от лица анонимного клиента с именем типа IUSR_xxxxx надо бы его добавить в список пользователей SQL сервера, но опять таки не понятно к какой базе.

Также можно попробовать обойти секюрити если создавать SQL сессию в контексте другого account с большими правами и добавить в connection string "Trusted_Connection=Yes"

Также можно попробовать тот же скрип старануть из .VBS файла. Но для меня пока очевидно, что анонимному пользователю доступ к SQL серверу запрещен.
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

Марк, не секурно это.... Совсем никак по другому не сделать?
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

Сообщение MarkM »

ura писал(а):Также можно попробовать обойти секюрити если создавать SQL сессию в контексте другого account с большими правами и добавить в connection string "Trusted_Connection=Yes"
Exactly what I'd like to do.
The idea is, User logs in to website, and then to DB with using his/her NT Domain account with Trusted SQL Connection.

I've tried to add this "Trusted_Connection=Yes" - the same story, the same error.
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

Сообщение MarkM »

папа Карло писал(а):Марк, не секурно это.... Совсем никак по другому не сделать?
A kak sekurno?
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

MarkM писал(а):
папа Карло писал(а):Марк, не секурно это.... Совсем никак по другому не сделать?
A kak sekurno?
вебсервер (аппсервер) ходит 1им логином в базу...... народ на странице логинится логины хранятся в базе.... дальше делаешь кто куда доступ имеет....
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

Сообщение MarkM »

папа Карло писал(а):
MarkM писал(а):
папа Карло писал(а):Марк, не секурно это.... Совсем никак по другому не сделать?
A kak sekurno?
вебсервер (аппсервер) ходит 1им логином в базу...... народ на странице логинится логины хранятся в базе.... дальше делаешь кто куда доступ имеет....
[trn]Ja tak ne ljublju. Togda ne ponjatno kto konnektitsja k base, dlja kakogo jusera v BD sessija rabotaet. Eto tak kak ono sejchas u nas rabotaet.[/trn]
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

MarkM писал(а):
папа Карло писал(а):
MarkM писал(а):
папа Карло писал(а):Марк, не секурно это.... Совсем никак по другому не сделать?
A kak sekurno?
вебсервер (аппсервер) ходит 1им логином в базу...... народ на странице логинится логины хранятся в базе.... дальше делаешь кто куда доступ имеет....
[trn]Ja tak ne ljublju. Togda ne ponjatno kto konnektitsja k base, dlja kakogo jusera v BD sessija rabotaet. Eto tak kak ono sejchas u nas rabotaet.[/trn]
у меня база отвечает за две простых вещи: хранит данные и обеспечивает их целостность.... безопасность я делаю на уровне бизнес логики... при таком подходе база безоговорочно верит БЛЛу.... и лишается ненужных проверок по безопасности и лишних запросов которые завалятся по безопасности.... так ибо скалить апп сервер много проще и дешевле чем базный сервак :)
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

Сообщение MarkM »

папа Карло писал(а):
MarkM писал(а):
папа Карло писал(а):
MarkM писал(а):
папа Карло писал(а):Марк, не секурно это.... Совсем никак по другому не сделать?
A kak sekurno?
вебсервер (аппсервер) ходит 1им логином в базу...... народ на странице логинится логины хранятся в базе.... дальше делаешь кто куда доступ имеет....
[trn]Ja tak ne ljublju. Togda ne ponjatno kto konnektitsja k base, dlja kakogo jusera v BD sessija rabotaet. Eto tak kak ono sejchas u nas rabotaet.[/trn]
у меня база отвечает за две простых вещи: хранит данные и обеспечивает их целостность.... безопасность я делаю на уровне бизнес логики... при таком подходе база безоговорочно верит БЛЛу.... и лишается ненужных проверок по безопасности и лишних запросов которые завалятся по безопасности.... так ибо скалить апп сервер много проще и дешевле чем базный сервак :)
[trn]Ja tebja ponimaju. Ty developer. Tebe tak proshe. Kak potom budet zhit' DBA tebe pofig. DBA chasto nado identificirovat' sessiju. Dlja audita naprimer. Ili hotja by dlja togo chtoby prokontaktirovat' uzera esli nado rubanut' sessiju.
V mojem sluchae baza tak zhe verit BLLu, tochnee Domenu. I net nikakih lishnih zaprosov iz BLL v BD dlja proverki uzera i ego prav.
I net voprosov gde i kak hranit' imena/paroli, i eto tozhe masshtabiruemo, i sovmestimo s Kerberos, Dir Server, SSL i td i tp. Zachem izobreta' koleso autentikacii esli ego uzhe davno izobreli? Zachem zagruzhat' BLL samopal'noj autentikaciej?

Mne nado prosto zastavit' IIS konnektit'sja k BD s kredenshialsami veb-uzera. Poka ne poluchaetsja. [/trn]
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

незнаю незнаю..... все зависит от требований к системе... если написано что каждый юзер ходит своим логином то каждый и будет так ходить..... я слабо представляю как например в интеренет системе будешь делать по-юзерно :)

ЗЫ да и не девелопер я :)
ura
Житель
Сообщения: 915
Зарегистрирован: 09 мар 2003, 22:46

Сообщение ura »

В таком случае тебе нужно запретить анонимный доступ к Web приложению (виртуальному каталогу или всему Web серверу), тогда пользователю на экран будет выдана форма регистрации (имя, пароль, домен) тогда должно все заработать.
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

Сообщение MarkM »

папа Карло писал(а):незнаю незнаю..... все зависит от требований к системе... если написано что каждый юзер ходит своим логином то каждый и будет так ходить..... я слабо представляю как например в интеренет системе будешь делать по-юзерно :)

ЗЫ да и не девелопер я :)


[trn] Tochno tak zhe. Uzera iz interneta budut loginit'sja v domen.[/trn]
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

MarkM писал(а):
папа Карло писал(а):незнаю незнаю..... все зависит от требований к системе... если написано что каждый юзер ходит своим логином то каждый и будет так ходить..... я слабо представляю как например в интеренет системе будешь делать по-юзерно :)

ЗЫ да и не девелопер я :)


[trn] Tochno tak zhe. Uzera iz interneta budut loginit'sja v domen.[/trn]
ой спасибо не надо :)
MarkM
Пользователь
Сообщения: 113
Зарегистрирован: 24 сен 2003, 21:52

Сообщение MarkM »

ura писал(а):В таком случае тебе нужно запретить анонимный доступ к Web приложению (виртуальному каталогу или всему Web серверу), тогда пользователю на экран будет выдана форма регистрации (имя, пароль, домен) тогда должно все заработать.
[trn] Da, ja tak i sdelal. Ono rabotaet esli i SQL i IIS na odnom servere.
Esli na raznyh - ne rabotaet :(
[/trn]
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

MarkM писал(а):
ura писал(а):В таком случае тебе нужно запретить анонимный доступ к Web приложению (виртуальному каталогу или всему Web серверу), тогда пользователю на экран будет выдана форма регистрации (имя, пароль, домен) тогда должно все заработать.
[trn] Da, ja tak i sdelal. Ono rabotaet esli i SQL i IIS na odnom servere.
Esli na raznyh - ne rabotaet :(
[/trn]
юзерам домена разрешено на МС сервах заходить как сервис? второй вопрос.... не исключено, что твой ИИС идет на скл сервер своим локальным пользователем от которого ИИС сервис запущен.
Ответить