2012-03-26 94 views
0

我需要说明如何在我的asp.net应用程序中应用域名登录。域名登录,asp.net

所以我有以下体系结构:三台机器:一台是工作的asp.net应用程序,另一台是数据库服务器,以及从最后一台机器访问应用程序。

我的应用程序应该像这样工作:我正在从最后一台机器访问应用程序,它需要我的域名检查它是否存在于用户表中,它应该对我进行身份验证。 但它只适用于应用程序在一台机器上运行,而且我正在从同一机器访问应用程序。它与web.config文件中的模拟连接使我只能访问本地资源。

我发现在MSDN的一些文章,但他们过于复杂,应用和理解:

从这些文章中我知道解决方案应该使用kerberos,委托和模拟。但我不知道如何应用它。

我在我的应用程序中如何实现域登录?你有一个很好的教程如何做到这一点?我必须只修改我的应用程序代码或服务器配置(第二台机器)吗?

更新1

我记录一些信息:

在我的机器:

System.Security.Principal.WindowsIdentity.GetCurrent().Name 

返回:myDomainName] [名为myUsername]

System.Security.Principal.WindowsIdentity.GetCurrent().AuthenticationType 

返回:Kerberos的

在三台机器架构:

System.Security.Principal.WindowsIdentity.GetCurrent().Name 

返回:IIS APPPOOL] [应用程序名称]

System.Security.Principal.WindowsIdentity.GetCurrent().AuthenticationType 

返回:协商

回答

0

您需要设置ASP.Net使用Windows身份验证和模拟(听起来像你已经这样做了)。然后,您需要为kerberos委派设置Web服务器,并确保为IIS和应用程序服务器配置了正确的spn。

它在2机器的情况下工作,因为这里没有委托。这是需要kerberos的第二个认证跳跃。