C#_验证域账户和密码

在C#中,你可以使用System.DirectoryServices.AccountManagement命名空间来验证域账户和密码。这个命名空间提供了一种简单的方法来验证用户的凭据。下面是一个示例代码,演示如何在C#中验证域账户和密码:

csharp 复制代码
using System;
using System.DirectoryServices.AccountManagement;

class Program
{
    static void Main()
    {
        Console.Write("Enter domain: ");// 域名,可使用Environment.UserDomainName获取当前域名
        string domain = Console.ReadLine();

        Console.Write("Enter username: ");// 账号
        string username = Console.ReadLine();

        Console.Write("Enter password: ");// 密码
        string password = Console.ReadLine();

        using (PrincipalContext context = new PrincipalContext(ContextType.Domain, domain))
        {
            bool isValid = context.ValidateCredentials(username, password);

            if (isValid)
            {
                Console.WriteLine("Login successful!");// 登录成功
            }
            else
            {
                Console.WriteLine("Login failed. Invalid username or password.");// 登录失败
            }
        }
    }
}

在上面的示例中,我们使用PrincipalContext类来建立与指定域的连接,并使用ValidateCredentials方法验证用户的凭据。如果提供的用户名和密码是有效的,则ValidateCredentials方法将返回true,否则返回false

请注意,为了使用System.DirectoryServices.AccountManagement命名空间,你需要在项目中引用System.DirectoryServices.AccountManagement程序集。你可以在Visual Studio中右键单击项目 -> 添加 -> 引用 -> 搜索System.DirectoryServices.AccountManagement并添加它。

相关推荐
VBA63377 分钟前
VBA即用型代码手册:利用函数保存为PDF文件UseFunctionSaveAsPDF
开发语言
say_fall9 分钟前
C语言编程实战:每日刷题 - day2
c语言·开发语言·学习
上去我就QWER1 小时前
Qt快捷键“魔法师”:QKeySequence
开发语言·c++·qt
Pluto_CSND3 小时前
Java中的静态代理与动态代理(Proxy.newProxyInstance)
java·开发语言
惊讶的猫5 小时前
LSTM论文解读
开发语言·python
獨枭6 小时前
C# 本地项目引用失效与恢复全攻略
开发语言·c#·visual studio
清风与日月6 小时前
c# 上位机作为控制端与下位机通信方式
单片机·嵌入式硬件·c#
国服第二切图仔6 小时前
Rust开发之Trait 定义通用行为——实现形状面积计算系统
开发语言·网络·rust
mjhcsp6 小时前
C++ 循环结构:控制程序重复执行的核心机制
开发语言·c++·算法
A阳俊yi6 小时前
Spring Data JPA
java·开发语言