Создайте пользователя в Active Directory в ASP.NET, используя C#.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Создайте пользователя в Active Directory в ASP.NET, используя C#.

Сообщение Anonymous »

По сути, я пытаюсь создать пользователя в своем приложении .NET с помощью C# и пространства имен System.DirectoryServices.AccountManagement.
Моя проблема в том, что я получаю аутентификацию ошибка при установке атрибута нового пользователя, которого я пытаюсь создать. И я на 1000% уверен, что это правильные учетные данные, а также правильные разрешения.
Мой файл с логикой для нового пользователя в AD:

Код: Выделить всё

using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;
using System;
using System.Diagnostics;

namespace guest_register.Services
{
public class ActiveDirectoryServices
{
private readonly string _domainName;
private readonly string _ldapPath;
private readonly string _adminUser;
private readonly string _adminPassword;

public ActiveDirectoryServices(string ldapPath, string domainName,string adminUser, string adminPassword)
{
_domainName = domainName;
_ldapPath = ldapPath;
_adminUser = adminUser;
_adminPassword = adminPassword;
}

public void createGuest(string userName, string password)
{
try
{
Debug.WriteLine($"Connecting to LDAP path: {_ldapPath} with user: {_adminUser}");

using (PrincipalContext context = new PrincipalContext(ContextType.Domain, _domainName, _ldapPath, _adminUser, _adminPassword))
{
Debug.WriteLine("Connected to LDAP successfully.");

using (UserPrincipal userPrin = new UserPrincipal(context))
{
Debug.WriteLine("Created a UserPrincipal");
// Set properties for the user
userPrin.SamAccountName = userName;
userPrin.SetPassword(password);
userPrin.Enabled = true;

// You can set other properties as needed
userPrin.Save();
Debug.WriteLine("Successfully created user");
}
}
}
catch (PrincipalOperationException pex)
{
Debug.WriteLine($"Message pex: {pex.Message}");
}
catch (Exception ex)
{
throw new Exception(ex.StackTrace);
}
}
}
}
Вот как я запускаю эту службу:

Код: Выделить всё

using guest_register.Services;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddScoped(sp => new ActiveDirectoryServices("DC=radius,DC=internal", "192.168.45.130", "demo", "test-123"));

// Add services to the container.
builder.Services.AddControllersWithViews();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}

app.UseHttpsRedirection();
app.UseStaticFiles();

app.UseRouting();

app.UseAuthorization();

app.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();
И фрагмент файла, который вызывает функции для создания пользователя:

Код: Выделить всё

try
{
_adService.createGuest("test-123", "test-123");
return Ok("User created successfully");
}
Кто-нибудь знает, что происходит не так?
Я пытался возиться с учетными данными, а также с разрешениями. У меня также был установлен ContextOptions в PrincipalContext, но это тоже не помогло.
Я не смог найти никаких ресурсов, поскольку это не помогло, как и большинство руководств. просто вообще не использовал учетные данные...

Подробнее здесь: https://stackoverflow.com/questions/785 ... ng-c-sharp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Создайте пользователя в Active Directory в ASP.NET, используя C#.
    Anonymous » » в форуме C#
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как я могу найти как фамилию пользователя, так и имя в Active Directory, используя C#
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как искать пользователей в Active Directory из ASP.NET Core
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как добавить атрибут Manager в Active Directory с помощью PrincipLOCNEXT с использованием ASP.NET
    Anonymous » » в форуме C#
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • ASP.net Core 2.1 Web API 2 и учетные данные Active Directory
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»