Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / После переноса на IIS база данных стала недоступна. / 19 сообщений из 19, страница 1 из 1
05.10.2006, 16:47
    #34035444
Аноним
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте.

Стокнулся с неразрешимой для меня проблемой. У меня есть проект сайта. Все было нормально пока запускал его из студии (F5)
Как только сайт с базой данных установил под IIS база данных стала недоступна.
Получаю сообщение: Cannot open user default database. Login failed. Login failed for user 'COMP1\ASPNET' .

База данных находится в папке App_Data. Строка подключения:
<add name="ConStr" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|data.mdf" />

В студии Server Explorer показывает, что у базы данных Owner = "COMP1\USER1";

Вызвал sp_helpuser, получил:
dbo db_owner COMP1\USER1 master dbo 1 <Binary data>
guest public NULL NULL guest 2 <Binary data>
INFORMATION_SCHEMA public NULL NULL NULL 3 NULL
sys public NULL NULL NULL 4 NULL


Еще заметил, что значение Name у System.Security.Principal.WindowsIdentity.GetCurrent() разное:
"COMP1\USER1"; // если веб-приложение выполняется в студийном веб-сервере
"COMP1\ASPNET"; // если веб-приложение выполняется в IIS

Как получить доступ к базе из IIS?
...
Рейтинг: 0 / 0
05.10.2006, 16:59
    #34035494
Juice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Дайте разрешение на доступ к БД учетной записи
'COMP1\ASPNET'.  И все заработает.

С ув. Сергей.

История - это огромная система раннего предупреждения.
Norman Cousins
...
Рейтинг: 0 / 0
05.10.2006, 17:15
    #34035568
Bvv
Bvv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здесь усё есть  -  http://www.relib.com/Forums/Topic905237-25-1.aspx
____________________________________________________
ученье - свет, а не ученье - чуть свет и на работу
...
Рейтинг: 0 / 0
05.10.2006, 17:36
    #34035659
Аноним
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, juice, Вы писали:

J>Дайте разрешение на доступ к БД учетной записи
J>'COMP1\ASPNET'. И все заработает.


Где это разрешение можно дать?
Может подскажете имя хранимой процедуры, которую надо вызвать?
...
Рейтинг: 0 / 0
05.10.2006, 18:33
    #34035836
Juice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Не знаю инструмент которым Вы, пользуетесь для администрирования баз данных. Приведу пример на SQL Server Manadgment Studio.

В Object Explorer открываете каталог Security в нем есть каталог Logins из контекстного меню выбираем New Login, далее в открывшемся диалоге Поиск - Дополнительно - Поиск и выбираете 'COMP1\ASPNET' учетную запись. Подтверждаете.

Теперь открываете подкаталог Security в каталоге с БД к которой требуется добавить пользователя с учетной записью 'COMP1\ASPNET'. Там выбираете Users и из контекстного меню  New Users ставите галочку напротив db_owner и имя пользователя устанавливаете как 'COMP1\ASPNET', жмете броуз напротив логина, далее броуз и выбираете учетнуюзапись 'COMP1\ASPNET' подтверждаете. Все.

Похожий механизм для добавления и в Enterprise Manager из поставки SQL SERVER 2000.

С ув. Сергей.
История - это огромная система раннего предупреждения.
Norman Cousins
...
Рейтинг: 0 / 0
05.10.2006, 20:20
    #34036011
Аноним
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, juice, Вы писали:

J>Не знаю инструмент которым Вы, пользуетесь для администрирования баз данных. Приведу пример на SQL Server Manadgment Studio.

J>В Object Explorer открываете каталог Security в нем есть каталог Logins из контекстного меню выбираем New Login, далее в открывшемся диалоге Поиск — Дополнительно — Поиск и выбираете 'COMP1\ASPNET' учетную запись. Подтверждаете.

J>Теперь открываете подкаталог Security в каталоге с БД к которой требуется добавить пользователя с учетной записью 'COMP1\ASPNET'. Там выбираете Users и из контекстного меню New Users ставите галочку напротив db_owner и имя пользователя устанавливаете как 'COMP1\ASPNET', жмете броуз напротив логина, далее броуз и выбираете учетнуюзапись 'COMP1\ASPNET' подтверждаете. Все.

Спасибо большое. А возможно ли тоже самое сделать с помощью хранимых процедур? И еще вопрос: в каких системных таблицах хранятся имена и пароли?
...
Рейтинг: 0 / 0
06.10.2006, 08:04
    #34036410
Sinclair
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, <Аноним>, Вы писали:


А>Спасибо большое. А возможно ли тоже самое сделать с помощью хранимых процедур?
Можно. Крайне рекомендую ознакомиться с SQL Books Online, которые идут в поставке MS SQL Server. Если у вас их нету, сходите в online на MSDN. Надо искать документацию по System Stored Procedures.
А> И еще вопрос: в каких системных таблицах хранятся имена и пароли?
Вообще говоря это зависит от версии SQL Server. Пароли вообще не хранятся. А это, собственно, зачем? Хочется руками поправить системные таблички? Не советую. 1.1.4 stable rev. 510
...
Рейтинг: 0 / 0
06.10.2006, 09:17
    #34036550
Sergey Antsiferov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Хмм..
А не лучше бы создать для базы пользователя, и под его именем к базе коннектитьсяХорошо там, где нас нет. Все там будем!
...
Рейтинг: 0 / 0
06.10.2006, 09:27
    #34036574
RadioShark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Intergrated Security лучше не использовать для доступа к базам данным из под ASP.NET-приложений.

--
С уважением,
RadioShark
...
Рейтинг: 0 / 0
06.10.2006, 11:35
    #34037012
Juice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Re: Intergrated Security лучше не использовать для доступа к базам данным из под ASP.NET-приложений.
 
Интерессно почему? У меня например другое мнение основанное как на личном опыте, так и на советах администраторов самих баз данных. Учетная запись ASP.NET имеет очень низкие права и привелегии в системе.
 
В то же врем вот что, мы имеем при хранении логина/пароля отдельно заведенного пользователя: Читаем FAQ
 
http://www.gotdotnet.ru/DotNet/FAQ/DataWorks/ADODotNet/55298.aspx

Встроенная аутентификация SQL Server. Пароль для заданного User Наиболее опасный тип подключения с точки зрения безопасности. Используйте его с максимальной осторожностью. Ни в коем случае не используйте подключений sa, давайте как можно меньшие привелегии пользователям, задавайте криптоустойчивые пароли, а также шифруйте их при передаче.

Каждый вывод сделает сам...


История - это огромная система раннего предупреждения.
Norman Cousins
...
Рейтинг: 0 / 0
06.10.2006, 16:56
    #34038499
Gollum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, juice, Вы писали:

J>Re: Intergrated Security лучше не использовать для доступа к базам данным из под ASP.NET-приложений.

J>Интерессно почему? У меня например другое мнение основанное как на личном опыте, так и на советах администраторов самих баз данных. Учетная запись ASP.NET имеет очень низкие права и привелегии в системе.

Единственный минус такого подхода (но он очень весомый), что в ситуации когда IIS и SQL сервер находятся на разных машинах этот подход в общем нормально не работает, как ни настраивай делегирование и прочее. Легче сделать SQL login.Вперед! Бодхисатва, вперед!
...
Рейтинг: 0 / 0
06.10.2006, 18:23
    #34038761
Juice
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Re: Единственный минус такого подхода (но он очень весомый), что в ситуации когда IIS и SQL сервер находятся на разных машинах этот подход в общем нормально не работает, как ни настраивай делегирование и прочее. Легче сделать SQL login.
 
Согласен, только с поправкой. Не IIS и SQL Server а приложение которое будет к SQL Server обращается. Очень часто web-приложение всего лишь презентационный слой в демилитаризованой зоне, который удаленно использует сервер приложений за файрволом. А тут логика бывает разная, в интрасети может быть учетные записи прописанные в ActiveDirectory могут и нет, может сервре БД распологаться  на той же машине, что и сервер приложений. В общем случае нужно, выбирать тот вариант который больше устраивает и понимать между ними разницу. Спасбо, Вам за утонение.

С ув. Сергей.
История - это огромная система раннего предупреждения.
Norman Cousins
...
Рейтинг: 0 / 0
17.10.2006, 09:47
    #34059043
Sinclair
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, Gollum, Вы писали:

G>Единственный минус такого подхода (но он очень весомый), что в ситуации когда IIS и SQL сервер находятся на разных машинах этот подход в общем нормально не работает, как ни настраивай делегирование и прочее.
Прекрасно работает такой подход. В случае, когда у вас веб приложение работает в домене, не надо пользоваться встроенной записью аспнет или локал сервис. Надо запускать приложение под нарошно созданным доменным пользователем — и никаких проблем не будет.
В противном случае все веб приложения будут иметь одинаковый доступ ко всем данным, а это создает, помимо чисто административных сложностей, еще и некоторую угрозу безопасности.
G>Легче сделать SQL login. 1.1.4 stable rev. 510
...
Рейтинг: 0 / 0
17.10.2006, 16:51
    #34060883
Gollum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, Sinclair, Вы писали:

S>Прекрасно работает такой подход. В случае, когда у вас веб приложение работает в домене, не надо пользоваться встроенной записью аспнет или локал сервис. Надо запускать приложение под нарошно созданным доменным пользователем — и никаких проблем не будет.

А DMZ у вас тоже в домене, да?И начальник заставы поймет меня, и беспечный рыбак простит
...
Рейтинг: 0 / 0
17.10.2006, 17:04
    #34060961
Gollum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, Sinclair, Вы писали:

S>Прекрасно работает такой подход. В случае, когда у вас веб приложение работает в домене, не надо пользоваться встроенной записью аспнет или локал сервис. Надо запускать приложение под нарошно созданным доменным пользователем — и никаких проблем не будет.

+ К тому, при запуске приложения под нарочно созжданным доменным пользователем лично наблюдал такое количество проблем, что не дай бог никому.Самурай без меча подобен самураю с мечом, но только без меча.
...
Рейтинг: 0 / 0
18.10.2006, 14:41
    #34063663
Sinclair
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, Gollum, Вы писали:
G>+ К тому, при запуске приложения под нарочно созжданным доменным пользователем лично наблюдал такое количество проблем, что не дай бог никому.
А можно вкратце описать? Хотелось бы знать, к чему готовиться. 1.1.4 stable rev. 510
...
Рейтинг: 0 / 0
18.10.2006, 15:31
    #34063902
Gollum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, Sinclair, Вы писали:

G>>+ К тому, при запуске приложения под нарочно созжданным доменным пользователем лично наблюдал такое количество проблем, что не дай бог никому.
S>А можно вкратце описать? Хотелось бы знать, к чему готовиться.

При запуске под доменным эккаунтом стало выкидвать окошки виндовой аутентификации в самые неожиданные моменты — причем достаточно странно, такое впечатление что для каких-то ресурсов у этого эккаунта не было разрешений, хотя вроде куда надо этот эккаунт был прописан. Причем, если пускать из-под локального эккаунта, то то же самое, но реже... В общем я за полдня настроить не смог, отдали админам разбираться что и как. Скорее всего конечно какие-то локальные глюки, т.к. все должно работать, но вот у меня не вышло.Ihesu who hath wonders sore, grants us the blyss of heathen
...
Рейтинг: 0 / 0
18.10.2006, 19:00
    #34064830
Sinclair
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, Gollum, Вы писали:

G>Здравствуйте, Sinclair, Вы писали:

G>>>+ К тому, при запуске приложения под нарочно созжданным доменным пользователем лично наблюдал такое количество проблем, что не дай бог никому.
S>>А можно вкратце описать? Хотелось бы знать, к чему готовиться.

G>При запуске под доменным эккаунтом стало выкидвать окошки виндовой аутентификации в самые неожиданные моменты
Погоди. Куда серверное веб-приложение вдруг стало выкидывать окошки ?
G>- причем достаточно странно, такое впечатление что для каких-то ресурсов у этого эккаунта не было разрешений, хотя вроде куда надо этот эккаунт был прописан.
Ну, во-первых все это как правило можно точно увидеть в Event Log. Ну то есть типа "SecurityException at... Runnning under account ... impersonating under ...".
Во-вторых, имея стек трейс обычно можно локализовать область, в которой расположены недоступные ресурсы. После этого я обычно включаю audit fail for everyone, воспроизвожу и выясняю кто какой именно аксесс пытался запросить и почему ему отказали.
Самая частая в нашей практике засада — пронос исключений с сервера при вызове web services. Т.е я смотрю в логи на клиенте — написано Can't find file C:\Windows\Temp\asddf34s.cs.
Ага, понятно — XML Serializer пытается создать временный cs, и не хватает прав на темп фолдер. Смотрю в темп фолдер — все в порядке, аккаунту права есть. Смотрю effective permissions — права есть. Включаю аудит — пусто.

А оказывается, что проблема возникла не на клиенте, а на сервере: при вызове веб метода он не смог сериализовать возвращаемое значение.
G>Причем, если пускать из-под локального эккаунта, то то же самое, но реже... В общем я за полдня настроить не смог, отдали админам разбираться что и как. Скорее всего конечно какие-то локальные глюки, т.к. все должно работать, но вот у меня не вышло.
Ясно. Чувствительность ASP.NET к настройкам конфигурации весьма и весьма высока ;) 1.1.4 stable rev. 510
...
Рейтинг: 0 / 0
18.10.2006, 20:52
    #34065012
Gollum
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После переноса на IIS база данных стала недоступна.
Здравствуйте, Sinclair, Вы писали:

G>>При запуске под доменным эккаунтом стало выкидвать окошки виндовой аутентификации в самые неожиданные моменты
S>Погоди. Куда серверное веб-приложение вдруг стало выкидывать окошки ?

Вообще, я думал что понятно выразился, но расшифрую: под Network Service всеработало хорошо. При переключении на доменный эккаунт при попытке эксплорером открыть урл, соответствующий веб-приложению стали выскакивать многочисленные виндовые окошки введите логин-пароль.

G>>- причем достаточно странно, такое впечатление что для каких-то ресурсов у этого эккаунта не было разрешений, хотя вроде куда надо этот эккаунт был прописан.
S>Ну, во-первых все это как правило можно точно увидеть в Event Log. Ну то есть типа "SecurityException at... Runnning under account ... impersonating under ...".
S>Во-вторых, имея стек трейс обычно можно локализовать область, в которой расположены недоступные ресурсы. После этого я обычно включаю audit fail for everyone, воспроизвожу и выясняю кто какой именно аксесс пытался запросить и почему ему отказали.

Спасибо конечно что рассказал про ивентлог, но в моем случае в ивент логе ничего не было, а стек трейс не поддавался изучению в виду отсутствий эксепшнов. Диагностика того куда оно пытается лезть была поручена админам, именно с советом включить полный аудит и сказать куда же оно ломится. Задача была не моя, я помогал, насколько я помню в результате забили вообще на это дело потому что разбираться было некогда.

S>Самая частая в нашей практике засада — пронос исключений с сервера при вызове web services. Т.е я смотрю в логи на клиенте — написано Can't find file C:\Windows\Temp\asddf34s.cs.
S>Ага, понятно — XML Serializer пытается создать временный cs, и не хватает прав на темп фолдер. Смотрю в темп фолдер — все в порядке, аккаунту права есть. Смотрю effective permissions — права есть. Включаю аудит — пусто.

Нету исключений никаких.

G>>Причем, если пускать из-под локального эккаунта, то то же самое, но реже... В общем я за полдня настроить не смог, отдали админам разбираться что и как. Скорее всего конечно какие-то локальные глюки, т.к. все должно работать, но вот у меня не вышло.
S>Ясно. Чувствительность ASP.NET к настройкам конфигурации весьма и весьма высока ;)

Но безпроблемного запуска в моем случае не получилось. В общем, не все так гладко как хотелось бы.В лучших книгах всегда нет имен, и в лучших картинах — лиц
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / После переноса на IIS база данных стала недоступна. / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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