我正在开发一个ASP.net应用程序。在localhost上,我可以在调用AuthorizationGroups时访问Active Directory。 我将ASP.net应用程序发布到服务器后,无法访问Active Directory。我需要知道为什么在服务器上发生这种情况,当它本地工作正常时?我需要导入特殊的DLL吗?
如上所述,我试图从ActiveDirectory获取AuthorizationGroups,我从服务器收到以下消息。
- 尝试检索授权组时出错(5) 发生。
答案 0 :(得分:5)
说真的,那是完整的错误信息吗?
您需要记录错误,即使这是在无法处理的异常中发生的默认值,您也可以检查事件查看器。
所以我的答案是你必须学习如何诊断你网站中的任何类型的错误。如果你没有为此做好准备,那么当你不是那个得到错误的人时,这将意味着麻烦。
至于具体的错误,没有堆栈跟踪,我们将无法再向谷歌提供建议。您不仅可以获得该错误的一种情况,请查看Google上的前几个条目,看看我的意思:http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=While+trying+to+retrieve+the+authorization+groups%2C+an+error+(5)+occurred
答案 1 :(得分:1)
您引用的错误消息听起来非常像防火墙问题
您可以关闭服务器上的Windows防火墙,看看是否收到错误消息?如果是这样,您必须打开一些端口才能访问AD
但我同意Oded的评论,有很多可能性,你不应该对看到不同的行为感到惊讶 - Windows服务器/桌面配置和安全性,防火墙配置,ACL,缺少组件的差异 - 列表继续
答案 2 :(得分:1)
可能有很多原因:
您指定的错误可能来自:
通过Google搜索错误编号(5)
可能有所帮助。
答案 3 :(得分:1)
可能是用户上下文问题。在本地运行时,Web服务器作为登录用户运行。在IIS上运行时,该服务可能作为本地系统帐户运行,该帐户无法访问AD。您可以将用户更改为网络服务,这将使IIS服务器可以访问AD。
答案 4 :(得分:1)
听起来两者之间的唯一区别就是运行应用程序的用户帐户的安全权限。
作为本地用户,您可能会非常有权访问Active Directory。默认情况下,IIS使用没有网络访问权限的帐户运行网站的应用程序池。这将阻止您连接到Active Directory服务器。
如果要更改该应用程序池以作为网络服务运行,则可能会遇到用户帐户无权连接到Active Directory的错误。
答案 5 :(得分:0)
请考虑在开发过程中使用IIS Express,以便您的开发Web服务器更贴近生产环境。
答案 6 :(得分:0)
错误可能出现在您的web.config文件中 IIS上的和部署设置
答案 7 :(得分:0)
有很多原因导致事情在本地工作,但没有部署。
最常见的原因是上述原因中的一个。
答案 8 :(得分:0)
最大的区别在于 开发服务器在上下文中运行 登录用户,通常是本地用户 管理员帐户和IIS运行在 ASP.NET进程的上下文 帐户。检查权限。和 日志。
通过本文肯定会帮助你
Core Differences Between IIS and the ASP.NET Development Server