【发布时间】:2010-08-10 05:13:13
【问题描述】:
我正在尝试对 Web 服务器上的 .Net 应用程序的用户强制执行 Windows 身份验证,以访问 SSAS 上 Microsoft Analysis Services 数据库上的多维数据集,并且只是为了让它工作而发疯!
我在 web.config 中使用<identity impersonate="true" />。在 IIS 中关闭匿名访问并选择集成 Windows 身份验证。 appPool 以指定的身份运行;在 Active Directory 中已被授予“帐户受信任委派”的单独 Windows 帐户。我还让网络人员在 Web 服务器上为这个身份创建和注册一个 SPN。尝试访问 .Net 应用程序的用户没有在其 AD 帐户上选择“帐户敏感且无法委派”。
如果用户从 Web 服务器本地访问 .Net 应用程序,它工作正常,但是当从客户端的 PC 访问 .Net 应用程序时,他们会收到错误:“传输层遇到错误”“对等方过早地关闭了连接”。使用 SQL Profiler 进行跟踪,我可以看到尝试验证失败的 NTUserName 是匿名登录。
为什么不委托用户的身份验证??
解决方案:
如here 所述,在 SSAS 服务器上为 OLAP 服务注册 SPN 已修复此问题!即 Setspn.exe -A MSOLAPSvc.3/Servername mydomain\theuser.
【问题讨论】:
标签: .net windows-authentication olap kerberos ssas