- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
扩展 UserPrincipal
以利用其内置属性...当我们重载 FindByIdentity()
方法时遇到问题。
来自 Microsoft 的示例 http://msdn.microsoft.com/en-us/library/bb384372%28VS.90%29.aspx (为简洁起见排除的部分):
[DirectoryRdnPrefix("CN")]
[DirectoryObjectClass("inetOrgPerson")]
public class InetOrgPerson : UserPrincipal {
// Implement the overloaded search method FindByIdentity
public static new InetOrgPerson FindByIdentity(PrincipalContext context,
string identityValue) {
return (InetOrgPerson)FindByIdentityWithType(context,
typeof(InetOrgPerson),
identityValue);
}
// Implement the overloaded search method FindByIdentity
public static new InetOrgPerson FindByIdentity(PrincipalContext context,
IdentityType identityType,
string identityValue) {
return (InetOrgPerson)FindByIdentityWithType(context,
typeof(InetOrgPerson),
identityType,
identityValue);
}
}
如果我从 MSDN 示例中获取准确的代码并将其粘贴到我的应用程序中,则它不起作用。对 InetOrgPerson.FindByIdentity()
的调用返回 null,如下所示:
if (null == InetOrgPerson.FindByIdentity(principalContext, UserName)) {
throw new Exception("bah");
}
事实上,在 InetOrgPerson.FindByIdentity()
中,对 FindByIdentityWithType()
的调用返回 null,如下所示:
if (null == FindByIdentityWithType(context, typeof(InetOrgPerson), identityType, identityValue) {
throw new Exception("bah");
}
但是,调用:
FindByIdentityWithType(context, typeof(UserPrincipal), identityType, identityValue)
给我想要的用户对象。除了我不能使用它,因为它不能转换为我需要返回的 InetOrgPerson
对象。
什么给了?我希望 Microsoft 自己的示例代码能够运行,但它并没有运行,因此我尝试基于该示例编写的代码自然也无法运行。有人做过这个吗?
提前致谢!詹姆斯
最佳答案
确保您要搜索的用户确实属于 inetOrgPerson
类。
关于c# - 扩展用户主体; FindByIdentity() 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3515606/
以下代码在我们域中的各种机器上都可以正常工作。 var context = new PrincipalContext(ContextType.Domain); var principal = User
我正在尝试使用 .NET System.DirectoryServices.AccountManagement 库来获取特定 Active Directory 用户的 UserPrincipal。 我
扩展 UserPrincipal 以利用其内置属性...当我们重载 FindByIdentity() 方法时遇到问题。 来自 Microsoft 的示例 http://msdn.microsoft.c
我有一个应用程序需要绑定(bind)远程客户的 Active Directory 以执行身份验证任务。 using (var ctx = new PrincipalContext(ContextTyp
我正在尝试按组名获取所有用户并将其显示在 Sharepoint Web 部件中。 adGroupName 类似 = "CompanyGroup"。 GroupPrincipal grp = Group
一段时间以来,我一直在寻找解决方案,但不幸的是,每个线程都是死胡同。 我正在开发一个仅供我们公司内部使用的 C#/ASP.net 网络应用程序。 IIS 和我的 web.config 文件中的匿名访问
我有一个使用 System.DirectoryServices.AccountManagement 类的 .NET 3.5 Web 应用程序。当我搜索一些用户时,我得到一个 PrincipalOper
我正在使用 LdapAuthentication 将用户登录到 Active Directory。我想找到用户所属的所有组。我正在使用以下代码: string adPath = "LDAP://OU=
我遇到了一个简单的情况:我想使用我用来登录计算机的用户名和密码从 Active Directory 中检索我的帐户。 我的第一个问题是我在尝试调用 UserPrincipal.FindByIdenti
将此代码部署到标识为应用程序池用户的 Web 应用程序时,以下代码会引发未知的 COM 异常。调用 FindByIdentity 方法时发生异常。 System.Runtime.InteropServ
我有这个代码: var context = new PrincipalContext( ContextType.Machine ); var user = UserPrincipal.FindById
我有一个 MVC Intranet 应用程序,我最近从 .Net 4 升级到 4.6.1。此应用程序从 Active Directory 查询用户详细信息以加载 Controller 的 User.I
为什么会 GroupPrincipal group = GroupPrincipal.FindByIdentity(getPrincipalContext(),
我们正在编写一个系统,允许用户通过我们内部网上的 Web 应用程序更改他们的帐户密码。 起初,一切似乎都很顺利。在我们的测试帐户的开发过程中,可以毫无问题地更改密码。 然而,当我们使系统上线时,我们开
我在 ASP.NET 中有以下代码示例 using (PrincipalContext domainContext = new PrincipalContext(ContextType
在我的内部 Web 应用程序中使用 System.DirectoryServices.AccountManagement 时,我遇到了一个问题。该错误不是很具有描述性,但这是发生了什么: 当我尝试验证
这是我想要实现的目标:我有一个大约 5 层深的嵌套 OU 结构。 OU=Portal,OU=Dev,OU=Apps,OU=Grps,OU=Admin,DC=test,DC=com 我正在尝试查明用户是
我的应用程序使用 UserPrincipal 类来确定用户属于哪些组,然后使用该信息来确定用户是否经过身份验证可以使用我的应用程序。有一段时间一切正常,但最近我开始遇到异常 Guid should c
我正在编写一个 64 位 C# Windows 窗体应用程序,它将在 Windows PE 10 64 位下运行,以从 Active Directory 中提取显示名称。我必须使用 64 位,因为我运
我有以下代码来检索我的 MVC3 网络应用程序中给定用户名的 AD 组: PrincipalContext userDomain = new PrincipalContext(ContextType.
我是一名优秀的程序员,十分优秀!