LOGIN活动目录

原创 2002年07月15日 09:42:00

'*****************************************************************************************************
'//开始日期:2002年5月21日
'//结束日期:2002年5月
'*****************************************************************************************************
Option Explicit On
'Option Strict On
'//***************************************************************************************************
Imports System.Data.SqlClient

'//***************************************************************************************************
'//Begin defined namespace
'//Begin defined Class

Namespace Sunerp.CommClass.UserLogin

    Public Class ActiveDsLogin

        '//Defined Function  LoginActiveDs
        '//Function descriptoin
        '//本函数以用户提供的证书验证用户,使用 LDAP 传输用户的证书,
        '//使用 ActiveDs 对象的IADsOpenDSObject和 IADs 接口连接Active Directory,
        '//使用参数ActiveDs.__MIDL___MIDL_itf_ads_0000_0018.ADS_SECURE_AUTHENTICATION
        '//强制使用证书绑定用户。
        '//本函数没有参数,用类ActiveDsLogin的属性ADserverName(主域控制器名),ADUserName(用户名),
        '//ADUserPWD(用户密码),ADUserDeptVal(用户所在组织结构)传值

        '//Begin define function LoginActiveDs
        Public Function LoginActiveDs() As Boolean
            ' Opens an Active Directory object
            ' Using specific credentials.

            '定义 LDAP 绑定字符串,调用函数ParseDomainName(DomainName)解析域名
            Dim strLDAP As String
            strLDAP = "LDAP://" & ExchangeServerName & "/" & _
                "cn=" & AccountNameVal & ",ou=" & ActiveDsOrganizationUnitNameVal & _
                "," & ParseDomainName(DomainName)

            Dim dso As ActiveDs.IADsOpenDSObject
            Dim sobj As ActiveDs.IADs

            Try
                dso = GetObject("LDAP:")
                sobj = dso.OpenDSObject(strLDAP, _
                AccountNameVal, AccountPassword, _
                ActiveDs.__MIDL___MIDL_itf_ads_0000_0018.ADS_SECURE_AUTHENTICATION)

                sobj = Nothing
                dso = Nothing

                LoginActiveDs = True
                State = True
            Catch
                ' MsgBox("用户名或密码错误,请重新输入。")
                LoginActiveDs = False
                State = False
            End Try
        End Function
        '//End define function LoginActiveDs

        ''//私有的解析域名函数 ParseDomainName
        ''//根域名 如:com  net 等
        ''//主域域控制器名 如:sunrise   Microsoft  等
        ''//子域名 如:msdn 等 (msdn.microsoft.com)
        ''//本函数有1个参数,为域名字符串,此处为 DomainName 属性的值
        ''//返回 LDAP 字符串 如 "DC=sunrise,DC=com"
        Private Function ParseDomainName(ByVal IDomainName As String) As String
            '解析域名
            ' DomainName  域名属性
            Dim domainDC As String

            Dim domTokens 'As String
            domTokens = Split(Trim(IDomainName), ".", -1, 1)
            domainDC = Join(domTokens, ",DC=")
            domainDC = "DC=" & domainDC

            ParseDomainName = domainDC
        End Function

        ''定义类UserMailService的属性ExchangeServerName(Exchange DNS服务器名)
        Private ExchangeServerNameVal As String
        Public Property ExchangeServerName() As String
            Get '''<WebMethod(EnableSession:=True)>
                Return ExchangeServerNameVal ' Same As Prop1 = PropVal
            End Get
            Set(ByVal Value As String)
                ExchangeServerNameVal = Trim(Value)
            End Set
        End Property

        ''定义类UserMailService的属性DomainName(DNS主域名)
        Private DomainNameVal As String
        Public Property DomainName() As String
            Get
                Return DomainNameVal ' Same As Prop1 = PropVal
            End Get
            Set(ByVal Value As String)
                DomainNameVal = Trim(Value)
            End Set
        End Property


        ''定义类UserMailService的属性ExchangeFirstOrganizationName(Exchange邮件存储系统组织名)
        Private ExchangeFirstOrganizationNameVal As String
        Public Property ExchangeFirstOrganizationName() As String
            Get
                Return ExchangeFirstOrganizationNameVal
            End Get
            Set(ByVal Value As String)
                ExchangeFirstOrganizationNameVal = Trim(Value)
            End Set
        End Property


        ''定义类UserMailService的属性ADUserDept(用户所在组织单元OU)
        Private ActiveDsOrganizationUnitNameVal As String
        Public Property ActiveDsOrganizationUnitName() As String
            Get
                Return ActiveDsOrganizationUnitNameVal
            End Get
            Set(ByVal Value As String)
                ActiveDsOrganizationUnitNameVal = Trim(Value)
            End Set
        End Property


        ''定义类UserMailService的属性UserGroupName(用户所加入的组)
        Private UserGroupNameVal As String
        Public Property UserGroupName() As String
            Get
                Return UserGroupNameVal
            End Get
            Set(ByVal Value As String)
                UserGroupNameVal = Trim(Value)
            End Set
        End Property


        ''定义类UserMailService的属性AccountName(用户账户名)
        Private AccountNameVal As String
        Public Property AccountName() As String
            Get
                Return AccountNameVal
            End Get
            Set(ByVal Value As String)
                AccountNameVal = Trim(Value)
            End Set
        End Property

        ''定义类UserMailService的属性AccountPassword(用户密码)
        Private AccountPasswordVal As String
        Public Property AccountPassword() As String
            Get
                Return AccountPasswordVal
            End Get
            Set(ByVal Value As String)
                AccountPasswordVal = Trim(Value)
            End Set
        End Property

 

        ''定义类UserMailService的属性UserFirstName(用户姓氏)
        Private UserFirstNameVal As String
        Public Property UserFirstName() As String
            Get
                Return UserFirstNameVal
            End Get
            Set(ByVal Value As String)
                UserFirstNameVal = Trim(Value)
            End Set
        End Property

        ''定义类UserMailService的属性UserLastName(用户名字)
        Private UserLastNameVal As String
        Public Property UserLastName() As String
            Get
                Return UserLastNameVal
            End Get
            Set(ByVal Value As String)
                UserLastNameVal = Trim(Value)
            End Set
        End Property

        ''定义类UserMailService的属性UserMailBoxName(用邮箱名)
        Private UserMailBoxNameVal As String
        Public Property UserMailBoxName() As String
            Get
                Return UserMailBoxNameVal
            End Get
            Set(ByVal Value As String)
                UserMailBoxNameVal = Trim(Value)
            End Set
        End Property


        ''定义类UserMailService的ReadOnly属性State(创建连接的状态)
        ''True(创建成功),False(创建失败)
        Private StateVal As Boolean
        Public Property State() As Boolean
            Get
                Return StateVal
            End Get
            Set(ByVal Value As Boolean)
                StateVal = Value
            End Set
        End Property
    End Class


    Public Class DBaseLogin

        '//Defined Function  LoginDBase
        '//Function descriptoin
        '//本函数获取数据表中的当前登录的用户的信息,使用DataSet绑定数据库和007user表,
        '//本函数有2个参数,ILinkedSqlServer为公共函数LinkedSqlServer的返回值SqlConnection,
        '// IPublicApplication为公共数据结构PublicApplicationVal
        '//本函数返回查询到的 DataSet,包含字段所有字段

        '//Begin define function LoginDBase
        Public Function LoginDBase(ByVal ILinkedSqlServer As SqlConnection, _
                                   ByVal IPublicApplication As Comm.PublicApplicationVal) As DataSet

            Dim strSql As String

            Dim objDA As SqlDataAdapter
            Dim objDS As New DataSet()

            ''//查询条件是字符型字段
            strSql = "select * from " & IPublicApplication.DBTable & _
                     " WHERE " & IPublicApplication.QueryFieldName & _
                     "='" & IPublicApplication.QueryFieldVale & "'"

            objDA = New SqlDataAdapter(strSql, ILinkedSqlServer)
            objDA.Fill(objDS, "'" & IPublicApplication.DBTable & "'")

            objDA = Nothing

            LoginDBase = objDS
        End Function
        '//End define function LoginDBase

    End Class
End Namespace

活动目录是做什么用的

随着windows ad活动目录域在企业中应用的越来越广泛,很多朋友会询问活动目录的作用及功能,活动目录域管理技术的好处,怎样管理域,域管理方案教程等等,诸如此类的问题越来越多。其实,企业实施活动目录...
  • gnaw0725
  • gnaw0725
  • 2015年06月19日 09:09
  • 2591

Active Directory(活动目录) & Domain(域)

Active Directory(活动目录)是微软Windows Server中,负责架构中大型网路环境的集中式目录管理服务(Directory Services),Windows 2000 Serv...
  • pan_tian
  • pan_tian
  • 2014年06月16日 16:40
  • 5829

C#中的活动目录开发

来源:Jin XING  http://www.supinfo-projects.com/cn/2006/xing_jin_2006/conclusion/Resume我想大家都很熟悉了,活动目录可以...
  • tongdoudpj
  • tongdoudpj
  • 2007年12月26日 21:00
  • 3386

你真的需要活动目录吗?【转】

一、活动目录的功能     活动目录是微软为解决分布式windows网络集中化管理应用的一项关键产品,它的核心思想和协议源自于早期NOVELL的类似技术。今天的活动目录总结起来功能无外乎于以下三项...
  • gaoce227
  • gaoce227
  • 2017年05月27日 21:58
  • 322

[AD]举例介绍活动目录的优势

Active Directory服务提供了单一登入的能力和一个所有基础设施相关信息的集中储存机制,大幅度的简化了使用者和计算机的管理,同时提供优越的网络资源存取能力。我在本文中主要讲述一下Micros...
  • kepa520
  • kepa520
  • 2015年07月23日 13:35
  • 1308

关于活动目录的五个角色以及GC的作用

一、FSMO活动目录的五个角色:架构主机 FSMO 角色架构主机 FSMO 角色的拥有者是负责执行目录架构(即,命名上下文或 LDAP://cn=schema,cn=configuration,dc...
  • wip
  • wip
  • 2011年07月05日 21:54
  • 931

DNS、活动目录、域

DNS: 域名服务,作用是将网络域名解析成IP地址 活动目录: 微软提供的目录服务的一种,它存储有关网络上的对象信息,并使管理员和用户更方便的查找和使用这类信息 域: 网络系统的一...
  • lluozh2015
  • lluozh2015
  • 2015年10月12日 21:18
  • 409

DNS在活动目录中的重要性

         我们都知道DNS对于活动目录来讲是非常重要的,要想部署活动目录,就必须搭建DNS服务器,通常的做法是在搭建第一台DC的时候自动安装DNS,之所以都这么做是因为它简单、方便,但也有缺点...
  • windowsxpwyd
  • windowsxpwyd
  • 2011年01月19日 11:09
  • 1497

Windows的域和活动目录

Windows的域和活动目录 本文缩略词语 ...
  • cunzhangxp
  • cunzhangxp
  • 2006年05月18日 21:47
  • 1652

windows server 2012 活动目录部署

windows server 2012安装活动目录总结 安装windows server 2012 之后,再安装活动目录 1 先设置IP地址,并且将DNS的地址指向本机,即本机IP地址或者127.0....
  • dami2009
  • dami2009
  • 2016年01月20日 10:24
  • 335
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LOGIN活动目录
举报原因:
原因补充:

(最多只允许输入30个字)