问题标签 [userprincipal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1499 浏览

asp.net - System.DirectoryServices.AccountManagement PrincipalContext 模拟创建新用户

在 Sharepoint(或任何 ASP.NET Web 应用程序)中,我想要一个创建 AD 用户的功能。我正在使用 System.DirectoryServices.AccountManagement 来完成这项任务,但我遇到了麻烦。这是我的代码:

用户被创建但被禁用。我知道我的管理员:密码对是正确的,因为“if”语句返回 true。同样在创建过程中,我收到异常:

我检查了 PrincipalContext 对象,它正在使用“管理员”帐户连接到域控制器。这个错误和 up.Save() 函数抛出异常的原因可能是什么?

0 投票
1 回答
1862 浏览

c# - UserPrincipal.FindByIdentity 抛出 PrincipalServerDownException

我有一个应用程序需要绑定到远程客户的 Active Directory 以执行身份验证任务。

例外是:

PrincipalServerDownException:服务器无法运行。

直到今天,一切都很好。一个变化是运行此代码的应用程序从 4 升级到 4.5。我不能确定问题是在升级后立即发生的,还是只是巧合。

我一直在使用 AdFind 来测试与客户 AD 的绑定,它似乎工作正常。

另一个有趣的事情是PrincipalContext初始化很好(从而验证了它与远程存储的连接),如果我注释掉FindByIdentity调用ctx.ValidateCredentials,那么它也可以正常工作。

0 投票
3 回答
812 浏览

c# - 工作队列和用户上下文

我们有一个工作队列,用户可以向其中添加工作。添加工作项时,上下文是用户 ( HttpContext)。但它是一个后台线程,轮询队列并按顺序一一执行。

我不能只存储用户,因为当HttpContextPrincipal 对象被释放时

可以在 worker 中运行的代码需要 Principal 对诸如此类的东西是正确的PrincipalPermissions

此外,生命周期管理 (IoC) 使用HttpContextforInRequest范围,是否可以HttpContext使用正确的主体重新创建 a 等。

编辑: 伪造 HttpContext 只是一个很好的生命时间管理功能,我可以解决这个问题。但是我们的后端代码很大程度上依赖于线程的正确用户主体,因为我们使用它来验证用户是否可以访问系统的该部分。如果有人可以回答如何存储具有身份、角色和 IsAuthenticated 状态的用户主体,然​​后在另一个线程上使用它,我会标记为答案

0 投票
0 回答
166 浏览

c# - 将无 UserPrincipal 字段添加到 AD 条目

我正在尝试向一个小型应用程序添加一个无 UserPrincipal 字段,但我无法让它工作。我尝试了几种方法来完成这个简单的任务,但我无法为我工作。我正在尝试添加一个名为 Company 的字段以插入到 Active Directory 中,但 Company 不是可以插入的字段...

有任何想法吗?如果您有代码示例,请发布一个代码示例。到目前为止我有这个:

0 投票
1 回答
438 浏览

asp.net - 问题在 (VB) ASP.NET 中的 .asmx 服务脚本中获取 Windows 客户端显示名称

我对 ASP.NET 很陌生,我一直在努力获取客户端的用户名,向服务器端的 Web 服务脚本发送请求。

在线搜索后,我发现了两个属性,据说可以让服务器页面访问客户端用户名; User.Identity.Name 然后我从一位前高级同事那里得到了另一段代码,他在解决这个问题之前离开了,他的函数使用了 UserPrincipal.Current.DisplayName

对于这两个我得到一个空白字符串。

我已经搜索了我的问题可能是什么,我怀疑这是因为我没有以某种方式在服务器端对用户进行身份验证。我只是直接访问了这两个属性/变量(UserPrincipal.Current.DisplayName 和 User.Identity.Name)

任何人都可以帮助阐明这个问题吗?我不知道我做错了什么/没有做什么。

0 投票
1 回答
1089 浏览

c# - C#, UserPrincipal.FindByIdentity always throw exception: "Server sent a referer" or unknown 0x80005000

I spend a whole day and got nothing. I'm developing a web app that authenticate using domain user/password. The code is followed. the first half is ok, I can get output: "the user and pass is: True."

Then, UserPrincipal.FindByIdentity throws error, either "server sent a referer" or "unknown 0x80005000". I changed the connect parameters many times like: LDAP://CN=Users,DC=sbi,DC=com

CN=Users,DC=sbi,DC=com

DC=sbi,DC=com

for every one of those, the first half code is correct, I can get my user/pass successfully authenticated. But I cannot get the userPrincipal.

I googled a lot but still get nothing, someone please help.

0 投票
2 回答
4090 浏览

c# - 根据名字、姓氏和显示名在 Active Directory 中搜索用户

我试图在我的组织活动目录中搜索用户。

如果 FirstNameLastNameDisplayName 匹配特定的字符串值,它应该返回用户。

我的代码:

问题是我只能通过一个过滤器进行搜索。

我可以 AND 过滤器,但不能 OR。是否有可用的解决方案?

0 投票
0 回答
269 浏览

c# - UserPrincipal - 按属性上的多个值过滤

我需要获取employeeType!= G,J和L的所有用户我看到的所有示例查询示例都是针对单个值.. UserPrincipal qbeUser = new UserPrincipal(ctx); qbeUser.Name = "布鲁斯"; PrincipalSearcher srch = new PrincipalSearcher(qbeUser); ... 废话

我该怎么做..注意这是一个不等于,它是单个属性的多个值..

提前致谢。

0 投票
1 回答
9607 浏览

c# - 如何在具有多棵树的 AD 林内的全局目录中搜索用户

我有以下带有两棵树的 AD 森林:

  1. 域 1。有两个子域 Domain2 和 Domain3
  2. 域 4。没有子域。

Domain1 的 DNS 名称是domain1.local。Domain4 的 DNS 名称是domain4.local

在每个域中都有一个启用了全局编录的域控制器。

我正在尝试通过其 SID 从域 4 中获取用户的 UserPrincipal。该程序从 Domain2 中的机器运行。

我使用以下代码:

在我的情况下,主体为空(未找到用户)。

在上面的代码片段中搜索一棵树(domain1 及其子节点)可以正常工作,但我不知道如何修改 PrincipalContext 构造函数的容器参数以真正启用森林范围的搜索。

最初我以为“DC=domain1,DC=local”指向林根,但似乎我在这里有误解。

而且我知道,如果我将容器路径更改为“DC=domain4,DC=local”,那么搜索将起作用,但仅适用于 domain4 中的用户。

但我真的需要这样一个指向整个森林的容器路径,这样我就可以使用相同的 PrincipalContext 从森林中的任何域搜索用户。

任何帮助表示赞赏,特别是如果有人可以澄清我的要求是否可以实现。

0 投票
1 回答
1048 浏览

c# - GetAuthorizationGroups 返回的组比我的用户所在的组多

我发现这篇文章是为了获取用户的安全组。

我不得不对其进行一些更改,使其看起来像这样:

不幸的是,我现在得到了 AD 中的每个安全组,而不仅仅是用户所在的安全组。我的用户在 10 个组中,但它返回 71。我必须提交用户名和密码,否则我将不被允许查找组. 它是不同域上的管理帐户,因此我无法使用当前凭据。

如果您需要更多信息,请告诉我。

提前问候和感谢 IG