Что происходит за кулисами при запуске aspnet_regsql? - PullRequest
0 голосов
/ 10 июня 2009

Я не получил никаких ответов от форума asp.net, поэтому я решил попробовать здесь.

У меня была проблема с клиентом, когда у него возникли проблемы при входе в наше приложение, которое они размещают. Он работал нормально в течение первого дня или около того после того, как они первоначально установили наше приложение, но затем аутентификация сломалась на следующий день (29.05.2009). Тогда они сказали, что это начало работать в следующий понедельник, но только на несколько часов. Не было никаких изменений конфигурации или изменений базы данных, о которых они знали.

Мы смогли решить эту проблему, выполнив команду aspnet_regsql с указанными ниже параметрами. Мы убедились, что все таблицы и хранимые процедуры aspnet_ находятся в базе данных. Мой вопрос: где было отключение с нашим приложением и базой данных, где аутентификация не проходила, но была исправлена ​​после запуска этого скрипта? Команда не перезаписывала ни одну из таблиц «aspnet_», поскольку все существующие пользователи все еще были в базе данных, и они смогли снова войти в систему с теми же существующими учетными данными.

aspnet_regsql -E -S <SERVERNAME> -d <DATABASENAME> -A all

Небольшой фон нашего приложения. Это приложение .NET 3.5 SP1 ASP.NET, использующее провайдер членства для аутентификации. Я установил функции членства в нашей базе данных (о чем я сейчас сожалею). Приложение использует имя входа SQL Server как для подключения ADO.NET, так и для подключения к членству. Эта текущая настройка имеет права входа в систему, установленные как db_owner для этой базы данных.

Запись ниже вводилась в журнал событий Windows.

 Event Type: Information
 Event Source: ASP.NET 2.0.50727.0
 Event Category: Web Event 
 Event ID: 1315
 Date:  5/29/2009
 Time:  10:52:04 AM
 User:  N/A
 Computer: * * * * * *
 Description:
 Event code: 4005 
 Event message: Forms authentication failed for the request. Reason:
 The ticket supplied has expired. 
 Event time: 5/29/2009 10:52:04 AM 
 Event time (UTC): 5/29/2009 2:52:04 PM 
 Event ID: 5ca57075c5464bdfbee4dbaa1365f8d9 
 Event sequence: 2 
 Event occurrence: 1 
 Event detail code: 50202 

 Application information: 
     Application domain:
 /LM/W3SVC/1/Root/5500Client-1-128880823233521436 
     Trust level: Full 
     Application Virtual Path: /5500Client 
     Application Path: D:\www\5500Client\ 
     Machine name: * * * * * *

1 Ответ

0 голосов
/ 10 июня 2009

Кажется, проблема в использовании встроенных учетных данных Windows для подключения к SQL Server. Любой шанс, что ваш клиент может запустить это, например, учетная запись sa или какая-либо другая учетная запись SQL Server, обладающая достаточными правами для создания базы данных и таблиц ??

aspnet_regsql -S <SERVERNAME> -d <DATABASENAME> -A all -U (login id) -P (password)

Марк

...