c# - 尝试验证域凭据时服务器无法处理目录请求
问题描述
我们有一个在 Windows Server 2012 R2 操作系统上的 IIS 中运行的 MVC 应用程序,它使用域帐户来验证用户访问权限。这适用于大多数服务器,除了一个客户设置。我们在 PrincipalContext.ValidateCredentials 中得到通用的“服务器无法处理目录请求”。IIS 应用程序池使用对本地服务器具有管理员权限的域用户来执行所有事务。
为了缩小导致问题的范围,我们将代码移植到了一个 winforms 应用程序和一个 powershell 脚本。我们以应用程序池中使用的域用户身份登录机器并运行这两个程序。两者都返回了相同的错误。
但是,当我们使用域管理员登录到服务器时,不再抛出异常并且我们能够针对 AD 进行验证。
我们只想知道是什么导致了这种行为。任何帮助是极大的赞赏。
下面是我们制作的powershell脚本:
$UserName = "Foo"
$Password = "Bar"
$Domain = "mydomain"
Add-Type -AssemblyName System.DirectoryServices.AccountManagement
$DS = New-Object System.DirectoryServices.AccountManagement.PrincipalContext('domain',$Domain)
$DS.ValidateCredentials($UserName, $Password)
解决方案
推荐阅读
- sql - 插入带有 WITH 子句的表在 postgres 中不起作用
- mysql - SQL:替代 COALESCE() 函数,将所有值分组到一列
- html - div-contaier 中带有滚动条的 CSS 网格
- sublimetext3 - 如何在 sublime text 3 中搜索带有特殊字符的特定文本?
- jquery - 使用 Angular 中的过滤器更新列表
- ios - 忘记了 Fastlane 匹配密码
- python - loc[~*value*]的含义和实现
- vue.js - Vuejs
相同的路线但不同的参数 - dart - 如何在 SingleChildScrollView 中放置一个列表视图但防止它们单独滚动?
- php - 我正在尝试在我的本地 XAMPP 服务器上运行我的 Codeigniter 项目,但我要么连接被拒绝,要么找不到网站或不存在域