问题标签 [account-management]

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 投票
0 回答
74 浏览

active-directory - Active Directory 是否适合这些要求?

我即将为我的公司建立一个新的帐户管理系统。用户是访问我们的一些 Web 应用程序的外部客户。一些用户是访问相同 Web 应用程序的内部操作员,但具有一定的权限。内部操作员还使用 java 应用程序访问 SQL 数据库以进行信息检索。

要求

  • 如果用户忘记了他/她的密码,用户可以收到一封带有重置链接的电子邮件,其中包含一个唯一的 id,允许用户通过点击链接输入新密码。唯一 id 应是 AD 系统的一部分,并且还具有“有效”时间戳。
  • 如果我们收到一个包含 100000 个用户的列表,这些用户将成为系统的一部分,那么以自动方式添加它们应该是可管理的。

我是 Active Directory 的新手,想知道它是否适合这些要求,还是使用任何其他系统更容易管理?

我还将使用 CAS 进行 Web 应用程序的身份验证和单点登录。

0 投票
2 回答
276 浏览

c# - 覆盖 groupprincipal.members.add

任何人都知道是否可以覆盖或扩展System.DirectoryServices.AccountManagement.GroupPrincipal对象上的 Members.Add 方法?

我想做这样的事情

0 投票
3 回答
5944 浏览

c# - 仅从 Active Directory 中获取已启用的帐户

System.DirectoryServices.AccountManagement.dll用来处理 Active Directory 以获取“域用户”组中的所有用户。

这将返回域中的所有用户,但我只需要获取已启用的用户。

这是一些示例代码:

其他组工作正常,但当组是“域用户”时,该Enabled属性的值false适用于所有用户。这使得如果不对每个用户进行进一步查询,就不可能区分启用和禁用用户。

0 投票
1 回答
1171 浏览

c# - 使用 AccountManagement 扩展类时如何设置二进制属性?

我正在使用自定义类在 Active Directory 中公开一些自定义架构。我正在存储一个二进制 blob,根据项目要求,此数据必须存储在 AD 中,我不能使用外部存储(如果可以的话,我会这样做)。

当我创建用户时,它会很好地存储 blob。我也可以很好地检索 blob 并获取我的所有数据。问题是我是否需要更新值并且出现错误

小示例程序:

如果我使用方法 1,我会在update.Save()操作中遇到以下异常

如果我使用方法 2,我会从this.ExtensionSet调用中得到异常set.BlobData


总结:如果当前未设置该值,我可以设置该值,但如果我想覆盖现有值,则会出现错误。

0 投票
1 回答
318 浏览

vb.net - 关于使用 System.DirectoryServices.AccountManagement 创建新用户的上下文选项的异常

我需要使用随机生成的密码在 AD 中创建新用户,该密码必须在首次登录时重置。我可以使用 DirectoryEntry 毫无问题地连接,但我想使用 System.DirectoryServices.AccountManagement。尝试通过 SSL 连接到服务器时,出现以下异常:

传递的 ContextOptions 对于此存储类型无效。必须指定 Negotiate 或 SimpleBind,并且它们不能组合。

使用 ContextOptions.SecureSocketLayer。

尝试设置用户密码时,Negotiate 和 SimpleBind 都会抛出异常,因为我必须通过 SSL 连接。

由于我可以通过 SSL 与 DirectoryServices 连接,因此我认为代码不是问题,但会发布任何可能有用的内容。

0 投票
1 回答
1843 浏览

active-directory - 从 Active Directory 获取 EmailAddress NULL (AccountManagement UserPrincipal)

我有一个问题,找不到解决方案:

我有下面的代码来检索正在访问 Web 应用程序的电子邮件 ( EmailAddress) 用户。

对于某些用户(目前为止三个),电子邮件 ( EmailAddress) 带有一个空值。

我也尝试了下面的代码,同样的情况发生了:

我怀疑这与 Exchange Server 有关,但我不能说缺乏知识。

任何人都可以帮忙吗?

0 投票
1 回答
4373 浏览

c# - 获取用户所属的本地和域帐户组

我正在尝试列出给定用户所属的所有组,并且我想同时支持本地计算机帐户和域帐户。我可以使用以下代码获取域帐户的组:

但是,如果我尝试调用机器本地的帐户,我会收到一个 COM 异常,指出我的用户名或密码不正确(它们不正确):

我猜我错误地将 FindByIdentity 用于机器帐户。所以我尝试了一种稍微不同的方法,它不使用 FindByIdentity:

这个版本没有抛出任何异常,但是调用GetGroups()也没有返回任何结果。如何获取特定用户所属的组对于机器和域帐户都是可靠的?

0 投票
2 回答
5447 浏览

c#-4.0 - GroupPrincipal 抛出“System.Runtime.InteropServices.COMException (0x8007200A):指定的目录服务属性或值不存在。”

System.DirectoryServices.AccountManagement用来查询用户,然后找到该用户的组。

我可以抓取底层DirectoryEntry对象并转储其属性和值,但是一旦GroupPrincipal.DisplayName访问该属性(或与此相关的任何属性),它就会引发以下异常:

"System.Runtime.InteropServices.COMException (0x8007200A):指定的目录服务属性或值不存在。\r\n\r\n 在 System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)\r\n 在 System。 DirectoryServices.DirectoryEntry.Bind()\r\n 在 System.DirectoryServices.DirectoryEntry.get_SchemaEntry()\r\n 在 System.DirectoryServices.AccountManagement.ADStoreCtx.IsContainer(DirectoryEntry de)\r\n 在 System.DirectoryServices.AccountManagement。 ADStoreCtx..ctor(DirectoryEntry ctxBase, Boolean ownCtxBase, String username, String password, ContextOptions options)\r\n 在 System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(DirectoryEntry entry)\r\n 在 System.DirectoryServices.AccountManagement.PrincipalContext .DoLDAPDirectoryInitNoContainer()\r\n 在 System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()\r\n 在 System.DirectoryServices.AccountManagement.PrincipalContext.Initialize()\r\n 在 System.DirectoryServices.Account Management.PrincipalContext.get_QueryCtx ()\r\n 在 System.DirectoryServices.AccountManagement.Principal.HandleGet[T](T& currentValue, String name, LoadState& state)\r\n 在 System.DirectoryServices.AccountManagement.Principal.get_DisplayName()\r\n 在ConsoleApplication9.Program.Main(String[] args)"AccountManagement.Principal.HandleGet[T](T& currentValue, String name, LoadState& state)\r\n 在 System.DirectoryServices.AccountManagement.Principal.get_DisplayName()\r\n 在 ConsoleApplication9.Program.Main(String[] args) "AccountManagement.Principal.HandleGet[T](T& currentValue, String name, LoadState& state)\r\n 在 System.DirectoryServices.AccountManagement.Principal.get_DisplayName()\r\n 在 ConsoleApplication9.Program.Main(String[] args) "

为什么我可以转储底层的原始属性,DirectoryEntry但不能直接调用任何属性GroupPrincipal?什么会导致这个异常?请注意,这不会发生在“域用户”组上,而是发生在后续组上,它确实......

0 投票
1 回答
1862 浏览

c# - UserPrincipal.FindByIdentity 抛出 PrincipalServerDownException

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

例外是:

PrincipalServerDownException:服务器无法运行。

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

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

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

0 投票
1 回答
2551 浏览

android - 从 android 帐户管理器“添加帐户”中删除我的应用

当用户在我的应用程序中创建新帐户时,我会在 android 帐户管理器中创建新帐户。所以用户可以在设置->帐户和同步中看到他的帐户...

所以问题:当用户单击帐户中的“添加新帐户”并同步时,是否可以从列表中删除我的应用程序?用户不应在此列表中看到我的应用程序,但仍可以在我的应用程序中创建帐户。

PS。单击添加帐户时我不想打开活动,我只想不在列表中显示我的应用程序点。

我的清单中有:

还有我的身份验证器: