学院以前的应用系统都是使用关系数据库的,现在想用AD来做LDAP服务器,查阅MS的文档,说是用户管理推荐使用AGDLP策略,也就是说把用户帐户(Account)加入全局组(Group),再把全局组加到域本地组(Domain Local Group),再将权限(Permission)实施到DL上。我暂时不需要Windows来管理计算机、打印机之类的资源,只需要依靠AD进行用户口令认证,以及读取院内的组织结构就行了。
传统的关系数据库上,通常把用户作为一个表,院内的单位作为一张表,有层次关系的,或许还会做成多张级联表,比如下面的二级结构:大单位表,包括教务部、政治处、计算机系等;小单位表,包括教务科、教保科(以上两个归属教务部),政工科(归属政治处),自动化教研室(归属计算机系),大单位表和小单位表通过关联字段进行关联,用户表则通过为每个用户设定小单位编码与小单位关联。
现在的问题是:AGDLP的过程中,MS推荐Group按照行政组织结构来规划,是否可以理解为所有用户先归到Domain Users组,然后再按照院内行政结构来设计教务部、政治处、计算机系,然后在设计教务科、政工科等小单位的组,再将小单位组嵌套进各自的主管部门组,最后将用户账号分类放入用户所在的小单位组里。这种方式,好像和先建立OU,然后在OU中建立用户账号有些不同,不知那种方法更好一些?

解决方案 »

  1.   

    楼上可否详细解释一下。感觉OU好像是专门为计算机、打印机、文件夹等资源而准备的东东,如果不需要管理这些东西的话,就用Group嵌套是不是也能既完整表示单位内部的组织结构(应该说对内部很多应用系统而言,读取单位内部各部门的名称和编码应该说与验证用户口令同等重要),又将用户按所属单位归类?而且,以往表示单位编码,通常用Int或vChar,在AD中使用DN(举个例子,OU=教保科,OU=教务部,DC=学院名称,DC=com,用Group的话DN的外观应该也差不多)好像太长,使用GUID好像又没法表示嵌套关系,如果还按老方法自己设个代码,好像又要对AD的架构进行扩展,该怎么办啊,高人们给个意见!
      

  2.   

    OU:组织单位。就用这个吧。你要用ldap的方法来考虑你的问题。
      

  3.   

    一边等高人回答,一边猛烈学习中...顺便推荐两本书,一是Windows Server 2003 Unleashed, R2 Edition,还有MS_Active_Directory_Design_Guide.pdf,都在csdn资源里可以下的。
    5楼说的我也知道,但新建的系统可以用ldap的方法考虑问题,还有好多老系统哪,估计用int或char来表示单位编码的方法还不能完全丢掉。
    继续追问。
    方法一:直接把用户账号容器OU用作表示内部单位名称和编码的实体(这样要搜索一个用户所属单位或找一个单位下面有那些用户特方便,但资源对象可能就要和账号对象混在一起了)
    方法二:除了账号OU,再另建一套单位OU树形结构。(用户账号可以属于多个Group,但好像只能属于一个OU吧?账号OU下的用户账号没法和部门OU建立对应关系了?)?
    这问题对懂的人来说是不是有点小白...不管了,还是打破沙锅问到底吧!
      

  4.   

    OU和Group是两种不同的组织方式...OU仅仅是容器,Group则是权限边界...OU用于组织组织架构,Group用于组织权限分配...建议你找本MCSE AD管理的教材好好看看...
      

  5.   

    7楼能否回答一下这个问题:
    以往表示单位编码,通常用Int或vChar,用OU表示部门,在OU下定义用户之后,要兼容以前用关系数据库vchar字段表示部门编码的应用系统,是否应该进行架构扩展,为每个部门OU加上一个string类型的编码字段?
      

  6.   

    如果要兼容旧系统可以做映射...将旧的编码和OU建立映射关系...但是既然做了AD就应该改用Windows集成身份验证废弃旧的身份验证系统...
      

  7.   

    好啊,真理越辩越明!感觉这个问题其实有一定的代表性,毕竟好多企业或学校目前还是一堆烟囱,在找到商业化一揽子解决方案之前,总想自己先尝试建设一下规范的应用系统体系结构。比如我所在的单位,就是典型的处于自主开发和买系统的中间状态。
    谢谢各位的回答,结贴给分了!vrhero 35分,whoami333 10分,JeffrySun 5分。欢迎各位dx继续在就这个问题发表高见,找机会再给分!