Sql server SQL Server 2000+;ASP.NET:用户登录失败';NT授权\匿名登录';
我刚移植了一个开发工作站Sql server SQL Server 2000+;ASP.NET:用户登录失败';NT授权\匿名登录';,sql-server,security,iis,Sql Server,Security,Iis,我刚移植了一个开发工作站 发件人:带IIS 6的Windows XP Pro SP3 至:Vista Enterprise 64位带IIS 7 自移动后,我的一个访问SQL Server 2000数据库的页面从我的ASP.NET 2.0网页接收到以下错误:“用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败。” 我有: 在IIS和web.config中启用Windows身份验证 在IIS中禁用匿名身份验证 将模拟设置为以经过身份验证的用户身份运行 已验证登录用户(在本
- 发件人:带IIS 6的Windows XP Pro SP3
- 至:Vista Enterprise 64位带IIS 7
- 在IIS和web.config中启用Windows身份验证
- 在IIS中禁用匿名身份验证
- 将模拟设置为以经过身份验证的用户身份运行
- 已验证登录用户(在本例中为me)是否有权访问SQL Server上的相应数据库
- 通过检查User.Identity.Name和System.Security.Principal.WindowsIdentity.GetCurrent().Name(两者都显示我的用户名),验证我在ASP.NET页面中的登录和模拟信息是否正确
注意:SQL Server仅适用于Windows身份验证-无混合模式或仅适用于SQL。假设SQL Server安装在单独的框中,并且位于域中
您的工作站需要启用Active Directory中的委派才能通过凭据(“登录令牌”)并允许模拟工作。根据其他步骤,这似乎是您正在尝试执行的操作,您需要在active directory中设置SPN。假设您在中间服务器上的域服务帐户下运行SQL server,则需要在域控制器上运行此链接:
setspn -A MSSQLSvc/SERVERNAME.domain.name:1433 domainname\SQLServiceAccount
将SERVERNAME切换为中间服务器名称(代表您访问SQL 2000框的名称),确保使用完全限定的域名(即Myserver.mycompany.local),然后使用domainname\SQLServerAccount帐户运行SQL服务(即代表您访问SQL 2000框的帐户)
如果您想了解更多详细信息,这里有一篇关于它的MSDN文章-。如果遇到任何问题,请发回。在SSMS中运行
EXEC master..sp_addsrvrolemember@loginame=N'NT SERVICE\MSSQLSERVER',@rolename=N'sysadmin'SQL是否安装在不同的框中?