c# - 使用 Active Directory 创建用户
问题描述
我正在尝试使用从我找到的一些示例代码改编的函数在 Active Directory 中创建用户。
public bool crearUsuario(string usu, string pass, string path)
{
string path = @"LDAP://" + path;
//string oGUID = string.Empty;
try {
DirectoryEntry entrada = new DirectoryEntry(path);
DirectoryEntry nuevoUsuario = entrada.Children.Add("CN=" + usu, "users");
nuevoUsuario.Properties["samAccountName"].Value = usu;
nuevoUsuario.CommitChanges();
//oGUID = nuevoUsuario.Guid.ToString();
nuevoUsuario.Invoke("SetPassword", new object[] { pass });
nuevoUsuario.CommitChanges();
entrada.Close();
nuevoUsuario.Close();
return true;
}
catch (System.DirectoryServices.DirectoryServicesCOMException E)
{
//E.Message.ToString();
return false;
}
//return oGUID;
}
原始代码返回一个字符串 ( oGUID
),但我只需要一个布尔值。
我的问题是,他们为什么使用那个字符串?我只需要true
orfalse
值,所以我不知道是否需要返回字符串而不是布尔值。
解决方案
String 对我来说似乎也是一个奇怪的选择:我会返回原始Guid
类型。但返回字符串、guid 或其他键的原因是,您希望在创建该用户帐户后对其执行某些操作。将新密钥作为原始创建函数的一部分返回很可能会在以后为您节省一些工作。
如果您知道自己不会处于这种情况,那么只需返回true
/ false
... 就可以了,请记住关于让异常冒泡的问题的评论也有优点。
推荐阅读
- jquery - Ckeditor 未验证,使用 jquery 验证,在表单向导设置中
- python - 如何在单独的进程中并行运行 Scrapy Crawler Process?(多处理)
- java - 从命令行执行包的java程序时出错
- java - Maven 无法获取可执行 jar:无法加载主类
- javascript - 如何以一种方法从多个 Select 组件中设置状态
- asp.net - 在 SQL Server 中显示 24 小时的每小时数据
- android - 如何将 CardView 固定在左侧?
- java - 创建 com.shivam.spring.config.AppConfig 中定义的名称为“getSessionFactory”的 bean 时出错:
- java - 如何使用流将元素映射到它们的索引?
- oop - 对象构造函数除了分配其依赖项之外还有什么问题?