- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在从 Active Directory 获取 UserPrincipal 时遇到问题。首先,我在我的本地环境中使用过(使用的不是 IIS,而是 ASP.NET 开发服务器):
User usr = new User();
usr.SoeId = Request.ServerVariables["LOGON_USER"];
usr.IP = Request.ServerVariables["REMOTE_ADDR"];
usr.FirstName = UserPrincipal.Current.GivenName;
usr.LastName = UserPrincipal.Current.Surname;
而且效果很好。我得到了我想要的。但是当我在测试环境中安装应用程序时,出现错误“对象引用未设置为对象的实例”。我试过 here 的解决方案.
using (PrincipalContext pc = new PrincipalContext(ContextType.Domain))
{
UserPrincipal up = UserPrincipal.FindByIdentity(pc, usr.SoeId);
return up.DisplayName;
// or return up.GivenName + " " + up.Surname;
}
但它不起作用。
我使用 Windows 身份验证。模拟设置为 true。请帮我。
最佳答案
更改您的 ApplicationPool
的身份以使用域用户运行。
在 iis 6 中,右键单击您的应用程序池,转到 Identity
选项卡并设置池将在其下运行的域用户。
在 iis 7 中右键单击您的应用程序池,选择高级设置,在进程模型下您会找到 Identity
,将其更改为使用域用户。
你也可以传递域用户并传递给PrincipalContest Constructor
using (PrincipalContext context = new PrincipalContext(
ContextType.Domain,
"name of your domain",
"container of your domain",
"user@domain", //create a user in domain for context creation purpose.. this username will be constant.. you can keep it in app config
"password")){
UserPrincipal up = UserPrincipal.FindByIdentity(pc, usr.SoeId);
return up.DisplayName;
}
如果您的域名是 dom.com
那么您的容器将类似于 DC=dom,DC=com
并且用户名应为 user@dom.com
或 dom\user
关于c# - 来自 Active Directory 的 UserPrincipal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12692761/
我有一个 Active Directory 搜索器,可以使用 UserPrincipal 对象获取用户的详细信息。我正在使用 System.DirectoryServices 和 System.Dir
我正在使用 ASP.Net 4.0 MVC 查询事件目录。我正在尝试获取用户组成员身份的列表并遍历它们。我有一个奇怪的问题。要获取我正在使用的组: PrincipalSearchResult g
我是事件目录的新手,我目前正在为一个项目开发一个库,以轻松管理我们的事件目录对象,如用户、资源、组等。 该库位于 .NetStandard 2.0 中,我使用的是 Principal 类 System
我想使用 JSF 创建一个登录表单,该表单还在外部上下文中创建一个新的 UserPrincipal。 当我想在外部 FacesContext 中创建新的 UserPrincipal 时,我必须做什么?
[JEE、MVC-JSP+Servlet、TomEE] 使用基于表单的声明式身份验证(容器管理)。是否可以显式设置UserPrincipal? (登录某些用户)。 我知道我可以使用 request.g
在查看托管网站时,我在我的项目中收到经典的对象引用未设置为对象的实例。在本地构建调试版本时有效。 直播 显示错误消息的代码示例: using System.DirectoryServices
在开始之前,我想说明一下,我可以使用 DirectoryServices 命名空间来执行此操作。我只想知道如何不使用 DirectoryServices 来解决我的以下问题。 我想做的是使用 Dire
我正在使用 C# 代码查询 Active Directory。我遇到的主要问题是确定帐户是否已被禁用。翻阅许多在线文章,似乎不能仅依靠属性 UserPrincipal.Enabled 来确定用户帐户是
我有一个类可以处理交换邮箱的密码更改和过期检查。我在 UserPrincipal 上检查 LastPasswordSet。 那么 TDD 呢? 我想通过编写一些测试来检查我的类(class)是否正确处
我正在尝试使用以下代码获取用户的所有Active Directory组: private static IEnumerable GetGroupNames(string userName)
通过 UserPrincipal 类,我可以设置 UserPrincipalName,因此在创建我的用户时,会填充用户登录名的第一部分: up.UserPrincipalName = "ryan.an
通过 UserPrincipal 类,我可以设置 UserPrincipalName,因此在创建我的用户时,会填充用户登录名的第一部分: up.UserPrincipalName = "ryan.an
我正在执行以下操作: How do I get the name of a file's owner in Java on OSX? 这是我的代码: private String getOwner(F
以下代码返回给定组名的 UserPricipal。但是删除组后,此代码仍然返回给我一个 UserPrincipal (已删除的)。有没有办法删除这个“缓存”? UserPrincipalLookupS
我正在尝试使用一种方法来接收用户名,如果该用户是本地管理员(不是在整个域中,只是在本地计算机上),则返回 true,否则返回 false。我试图改变在 In .NET/C# test if proce
我扩展了 UserPrincipal 类以检索我需要的一些缺失的属性: [DirectoryObjectClass("user")] [DirectoryRdnPrefix("CN")] class
这个问题在这里已经有了答案: Adding address information to active directory users (1 个回答) 关闭 5 年前。 我又被 AD 困住了。谁能给
我有一个包含很多属性的 UserPrincipal 对象,但我找不到密码过期日期的属性。 如何做到这一点? 最佳答案 这是我能想到的最简单的方法... using System.DirectorySe
我正在尝试使用 .NET System.DirectoryServices.AccountManagement 库来获取特定 Active Directory 用户的 UserPrincipal。 我
出于某种原因,GetAuthorizationGroups() 似乎需要大约 20 秒才能返回组。我正在使用这段代码: UserPrincipal user; // This takes 20 sec
我是一名优秀的程序员,十分优秀!