域登录,asp.net
我需要澄清如何在我的asp.net应用程序中应用域登录 所以我有以下体系结构:三台机器:一台运行asp.net应用程序,另一台运行数据库服务器,从最后一台机器访问应用程序 我的应用程序应该是这样工作的:我从最后一台机器访问应用程序,它检查我的域名是否存在于用户表中,它应该对我进行身份验证。 但只有当应用程序在一台机器上运行并且我从同一台机器访问应用程序时,它才起作用。它与web.config文件中的模拟连接,仅允许我访问本地资源 我在MSDN上找到了一些文章,但它们太复杂,无法应用和理解:域登录,asp.net,asp.net,authentication,kerberos,Asp.net,Authentication,Kerberos,我需要澄清如何在我的asp.net应用程序中应用域登录 所以我有以下体系结构:三台机器:一台运行asp.net应用程序,另一台运行数据库服务器,从最后一台机器访问应用程序 我的应用程序应该是这样工作的:我从最后一台机器访问应用程序,它检查我的域名是否存在于用户表中,它应该对我进行身份验证。 但只有当应用程序在一台机器上运行并且我从同一台机器访问应用程序时,它才起作用。它与web.config文件中的模拟连接,仅允许我访问本地资源 我在MSDN上找到了一些文章,但它们太复杂,无法应用和理解:
- 如何:为ASP.NET 2.0应用程序创建服务帐户
- 构建安全的ASP.NET应用程序:身份验证、授权、, 安全通信
System.Security.Principal.WindowsIdentity.GetCurrent().Name
System.Security.Principal.WindowsIdentity.GetCurrent().Name
返回:[myDomainName][myUserName]
System.Security.Principal.WindowsIdentity.GetCurrent().AuthenticationType
返回:Kerberos
在三台机器架构上:
System.Security.Principal.WindowsIdentity.GetCurrent().Name
System.Security.Principal.WindowsIdentity.GetCurrent().Name
返回:[IIS APPPOOL][ApplicationName]
System.Security.Principal.WindowsIdentity.GetCurrent().AuthenticationType
返回:协商您需要设置ASP.Net以使用Windows Authentication和impersonation(听起来您已经这样做了)。然后,需要为kerberos委派设置web服务器,并确保为IIS和应用程序服务器配置了正确的spn 它在2机器的情况下工作,因为那里没有委托关系。这是需要kerberos的第二个身份验证跃点