我没有得到asp.net论坛的任何回复,所以我想我会在这里试试。
我遇到了一个客户问题,他们无法登录我们正在托管的应用程序。它们在最初安装我们的应用程序后的第一天工作正常,但随后在第二天(2009年5月29日)进行了身份验证。然后他们说它在下周一开始工作,但只持续了几个小时。没有配置更改或他们知道的数据库更改。
我们能够通过使用以下参数运行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: * * * * * *
答案 0 :(得分:0)
使用内置Windows凭据连接到SQL Server似乎存在问题。您的客户有机会运行此操作,例如sa
帐户或其他具有足够权限来创建数据库和表的SQL Server帐户?
aspnet_regsql -S <SERVERNAME> -d <DATABASENAME> -A all -U (login id) -P (password)
马克