【发布时间】:2016-06-12 17:47:20
【问题描述】:
我继承了一个项目,我被要求查看。它是一个部署在客户端 Intranet 服务器上的 ASP.NET 网站。他们给了我 VPN 访问权限和源代码。他们正在使用 Active Directory 进行身份验证。
这是我的设置:在本地运行的代码,连接到他们的数据库服务器上的数据库。
在 web.config 中,我看到身份验证模式=Windows 并且身份模拟为真。但是,当我运行该项目时,出现此错误:
无法从指定的凭据创建 Windows 用户令牌 配置文件。来自操作系统的错误“安全性” 服务器上的数据库没有用于此的计算机帐户 工作站信任关系。
身份行 (web.config) 的用户名是服务帐户。所有这些在生产中运行良好。关于为什么这个应用程序没有进行身份验证的任何想法?谢谢!
【问题讨论】:
-
如果您使用
AD for authentication, I am assuming that this site also has a login screen.. the error is probably seeing the remote machines name as not being in AD personally I would not use impersonation I would authenticate off of the users username and Domain and you can also usePrincipalContext` 以及很少的 AD 代码来验证密码.. 但在我看来PrincipalContext是您在域中所需要的一切.. 唯一的事情如果它们不在DMZ之外,那么您需要使用不同形式的身份验证.. -
您是说我的开发机器名称需要在他们的 AD 中设置吗?此外,许多用户都在远程工作,从酒店连接到网站等......那么,你会只使用标准的 Forms 身份验证吗?
-
您需要有经验丰富的
network admin设置VPN,在我看来,这样做会遇到很多问题。如果您的开发机器未设置在网络中,我会说这也是一个有缺陷的架构 -
谢谢!他们确实给了我 vpn 访问权限。正如我提到的,我刚刚继承了这个项目,前开发人员工作正常。您是否认为只是我的开发框需要适当的权限?客户只是想让我修复一个错误,而不是重新设计安全性的工作方式(至少现在是这样),所以我想让它快速工作。非常感谢您的反馈。
标签: c# asp.net active-directory