代码之家  ›  专栏  ›  技术社区  ›  JumpingJezza

使用双跳windows身份验证连接到Microsoft Analysis Services多维数据集

  •  2
  • JumpingJezza  · 技术社区  · 16 年前

    我正在尝试对Web服务器上的.Net应用程序的用户实施windows身份验证,以访问SSAS上Microsoft Analysis Services数据库上的多维数据集,并尝试使其正常工作!

    <identity impersonate="true" /> 在web.config中。在IIS中关闭匿名访问,并选择集成的Windows身份验证。appPool以指定的身份运行;一个单独的windows帐户,在Active Directory中被授予“帐户受信任进行委派”。我还让网络人员在Web服务器上为这个身份创建并注册SPN。尝试访问.Net应用程序的用户没有在其AD帐户上选择“帐户敏感且无法委派”。

    如果用户正在从Web服务器本地访问.Net应用程序,则可以正常工作,但当从客户端的PC访问.Net应用程序时,会出现错误:“传输层中遇到错误”“对等端过早关闭了连接”。在使用SQL Profiler进行跟踪时,我可以看到尝试验证失败的NTUserName是匿名登录。

    解决方案:

    如前所述为OLAP服务注册SPN here 在SSAS服务器上修复了它!ie Setspn.exe-MSOLAPSvc.3/Servername mydomain\theuser。

    1 回复  |  直到 16 年前
        1
  •  2
  •   Shlomo    16 年前

    听起来您的web应用程序并没有真正获取他们的身份和/或将其传递给.NET应用程序。你能设置一个测试页来验证它是否得到了他们的Windows ID吗?

    http://www.eggheadcafe.com/articles/20050703.asp

    尝试设置一个空白的debug.aspx页面,让它在代码中显示如下内容:

    private void Page_Load(object sender, System.EventArgs e)
    {
        Response.Write("Page Identity: " + Page.User.Identity.Name);
        Response.Write("Windows Identity: " + System.Security.Principal.WindowsIdentity.GetCurrent().Name);
        Response.Write("Thread Identity: " + System.Threading.Thread.CurrentPrincipal.Identity.Name);
    }   
    

    推荐文章