繁体   English   中英

在本地访问 ASP.net 中的 Active Directory 可以正常工作。 在服务器上部署相同的代码后会出现授权错误

[英]Accessing Active Directory in ASP.net locally works fine. After deploying the same code on server gives Authorization-errors

我目前正在开发一个 ASP.net 应用程序。 在本地主机上,我可以在调用 AuthorizationGroups 时访问 Active Directory。 在我将 ASP.net 应用程序发布到服务器后,我无法访问 Active Directory。 我需要知道为什么这会发生在服务器上,当它在本地工作正常时? 我需要导入特殊的 DLL 吗?

如前所述,我尝试从 ActiveDirectory 获取 AuthorizationGroups,我从服务器收到以下消息。

- 尝试检索授权组时,发生错误 (5)。

说真的,这是完整的错误信息吗?

您需要记录错误,即使这是在未处理的异常上发生的默认值,您可以检查事件查看器。

所以我的回答是你必须学习如何诊断你网站中的任何类型的错误。 如果您没有为此做好准备,那么当您不是遇到错误的人时,这将意味着以后的麻烦。

至于具体的错误,如果没有堆栈跟踪,我们将无法比 google 为您提供建议。 不仅有一种情况会出现该错误,请检查谷歌上的前几个条目以了解我的意思: http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=While+trying +to+retrieve+the+authorization+groups%2C+an+错误+(5)+发生

您引用的错误消息听起来很像防火墙问题

能不能把服务器上的Windows防火墙关掉,看看有没有报错? 如果是这样,您必须打开一些端口才能访问 AD

但我同意 Oded 的评论,有很多可能性,看到不同的行为你不应该感到惊讶 - Windows 服务器/桌面配置的差异,以及安全性、防火墙配置、ACL、缺少的组件 - 列表还在继续。

可能有很多原因:

  • IIS 配置错误
  • IIS 运行不同的 .NET 版本
  • 您的应用程序配置错误
  • 您的应用程序与您的 IIS(路径、库...)不兼容
  • 某些东西(可能是 Windows)坏了

您指定的错误可能来自:

  • ActiveDirectory 未能及时回复
  • 您的应用程序通常无法连接到 ActiveDirectory
  • 东西坏了

谷歌搜索错误号(5)可能会有所帮助。

可能是用户上下文问题。 在本地运行时,web 服务器以登录用户身份运行。 在 IIS 上运行时,该服务可能作为本地系统帐户运行,该帐户没有网络访问权限以访问 AD。 您可以将用户更改为网络服务,这将使 IIS 服务器访问 AD。

听起来两者之间的唯一区别是运行应用程序的用户帐户的安全权限。

作为本地用户,您通常有权绑定 Active Directory。 默认情况下,IIS 使用没有网络访问权限的帐户为网站运行应用程序池。 这将阻止您连接到您的 Active Directory 服务器。

如果您将该应用程序池更改为作为网络服务运行,您可能会遇到用户帐户无权连接到 Active Directory 的错误。

考虑在开发过程中使用IIS Express ,以便您的开发 web 服务器与生产环境更加匹配。

错误可能在您的 web.config 文件和 IIS 上的部署设置中

为什么事情在本地工作,但在部署时不工作的原因有很多。

  • IMO,第一个区别是权限级别 - 正如其他人指出的那样,您可能必须在访问资源(例如活动目录)时正确提升权限,或者您可能必须更改运行 asp.net 应用程序的帐户服务器。
  • 它可能不起作用的第二个原因是您的代码中可能有基于本地 URI 的绝对 URI,或者您可能有在服务器环境中没有多大意义的相对 URI(文件夹结构的不同深度, ETC。)
  • 有时,您正在开发较新的框架版本,而该版本在服务器上不可用。
  • 有时您可能已经安装了一些您正在使用的第三方框架,这些框架未部署在服务器上。

大多数情况下,原因是上述一种或另一种。

最大的区别是开发服务器在登录用户的上下文中运行,通常是本地管理员帐户,而 IIS 在 ASP.NET 进程帐户的上下文中运行。 检查权限。 和日志。

阅读这篇文章肯定会对你有所帮助

IIS和ASP.NET开发服务器的核心区别

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM