.NET实现域登录

最近有个项目点需要实现域登录系统功能,即用户使用域用户和域验证密码即可通过业务系统的密码验证,登录系统。

什么是域?

域是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后两个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和数据传输。

实现域验证还需要一个域控制器

域控制器就是一台服务器,负责每一台联入网络的电脑和用户的验证工作。

一般企业的电脑都会要求员工的电脑入域,方便公司的资源调配和共享。

.net framework 为域登录提供了System.DirectoryServices DLL程序集,程序集具体接口可参照官方API,这里就不赘述了。

下面是实现域登录的代码:

/// <summary>  
/// 连接域控制器 
/// </summary>  
/// <param name="LADPath">ldap的地址,例如"LDAP://***.***.48.110:389/dc=***,dc=com"</param>  
/// <param name="authUserName">连接用户名,例如"cn=root,dc=***,dc=com"</param>  
/// <param name="authPWD">连接密码</param>  
public bool OpenConnection(string LADPath, string authUserName, string authPWD)
{    
    //创建一个连接   
    _objDirectoryEntry = new DirectoryEntry(LADPath, authUserName, authPWD, AuthenticationTypes.None);

    if (_objDirectoryEntry.Properties != null && _objDirectoryEntry.Properties.Count > 0)
    {
        return true;
    }
    return false;
}
private void btnLogin_Click(object sender, EventArgs e)
{
    string path = txtAdPath.Text.Trim();
    string username = txtUserNo.Text.Trim();
    string pwd = txtPwd.Text.Trim();

    LDAPHelper objldap = null;
    bool flag = false;
    try
    {
        objldap = new LDAPHelper();
        flag = objldap.OpenConnection(path, username, pwd);
    }
    catch (Exception ex)
    {
        lbMsg.Text = "安全系统验证连接失败" + ex.Message;
    }
    finally
    {
        if (objldap != null)
        {
            objldap.closeConnection();
        }
    }
    if (flag)
    {
        lbMsg.Text = "安全系统验证成功";
    }    
    else
    {
        lbMsg.Text = "安全系统验证失败";
    }
}

实现效果图如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值