gpt4 book ai didi

c# - AD 使用 MembershipUser 更新电子邮件地址 - 访问被拒绝

转载 作者:太空宇宙 更新时间:2023-11-03 14:20:56 25 4
gpt4 key购买 nike

我正在尝试让一些用户在事件目录 (AD) 中更新他们的电子邮件地址。我正在尝试使用 MembershipUser 类来实现它。但是出现“一般访问被拒绝错误”。这是我的代码:

        string userName = "sathish";

System.Web.Security.MembershipUser userDetails = System.Web.Security.Membership.GetUser(userName);
if (userDetails != null)
{
userDetails.Email = "sathish@xyzee.com";
System.Web.Security.Membership.UpdateUser(userDetails); // getting access denied error here
}

我的问题是,

  1. 我是否需要适当的权限才能将电子邮件地址更新为 AD?

  2. 我们是否有任何属性来验证我当前的访问级别?

  3. 是否可以通过编程方式模拟权限来更新电子邮件地址?

最佳答案

如果您使用的是 .NET 3.5 及更高版本,则应查看 System.DirectoryServices.AccountManagement (S.DS.AM) 命名空间。在这里阅读所有相关信息:

Managing Directory Security Principals in the .NET Framework 3.5

基本上,您可以定义域上下文并在 AD 中轻松找到用户和/或组:

// set up domain context for your current, default domain
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// find user by name
string userName = "sathish";
UserPrincipal user = UserPrincipal.FindByIdentity(userName );

// if user is found - update it's e-mail address and save
if(user != null)
{
user.EmailAddress = "sathish@xyzee.com";
user.Save();
}

新的 S.DS.AM 使得在 AD 中与用户和组一起玩变得非常容易:

关于c# - AD 使用 MembershipUser 更新电子邮件地址 - 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5424821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com