上一页 1 ··· 3 4 5 6 7
摘要: 使用.Net来访问AD的时候,通常会先创建DirectoryEntry对象,值得注意的是,构建DirectoryEntry对象的时候并没有真正的从AD Server上获取数据。当访问DirectoryEntry的某个属性的时候,会把DirectoryEntry对象中的所有数据获取下来,并将这些数据放到AD的Cache中。有的时候可能需要修改AD对象的一些信息,可能会写如下的代码: 1 using (var de = new DirectoryEntry()) 2 { 3 de.Path = "LDAP://magellan/CN=Christian Nagel, " + 4 阅读全文
posted @ 2011-06-15 09:58 HelloWorld.Michael 阅读(616) 评论(0) 推荐(0)
摘要: 获取一个DirectoryEntry下面所有的节点: using (var de = new DirectoryEntry()) { de.Path = "LDAP://magellan/OU=thinktecture, DC=cninnovation, DC=local"; Console.WriteLine("Children of {0}", de.Name); foreach (DirectoryEntry obj in de.Children) { Console.WriteLine(obj.Name); } }通过设置SchemaFilter 阅读全文
posted @ 2011-06-15 09:48 HelloWorld.Michael 阅读(481) 评论(1) 推荐(0)
摘要: objects:An object refers to something concrete such as a user, a printer, or anetwork share. Objects have mandatory and optional attributes that describe them.schema:Every object is an instance of a class defined in the schema. The schema defines the types and is itselfstored in objects in Active Di 阅读全文
posted @ 2011-06-14 15:27 HelloWorld.Michael 阅读(201) 评论(0) 推荐(0)
摘要: Hierarchical grouping of data:Objects can be stored inside other container objects. Instead of havinga single, large list of users, you can group users inside organizational units. An organizational unitcan contain other organizational units, so you can build a tree.Multimaster replication:With Acti 阅读全文
posted @ 2011-06-14 14:44 HelloWorld.Michael 阅读(239) 评论(0) 推荐(0)
摘要: 关于调试windowsservice, 其实这是一个老生常谈的问题了.通常的处理办法是,在service运行后, 在调试器中选择attachto process.然而这种做法也有一定的局限性, 例如在service启动时的OnStart事件中的代码, 基本上很难调试.往往当attach到我们的service的时候, 这部分代码已经执行过了.于是,有人提出,可以另写一个project来调用这个OnStart方法, 或将OnStart方法中的代码搬到另一个project中测试. 不过, 这些方法终究不是以windows服务的方式调试的,不能够最真实的反应service运行时的执行状况(如权限问题等 阅读全文
posted @ 2011-05-26 10:28 HelloWorld.Michael 阅读(323) 评论(0) 推荐(1)
摘要: 1 function getSelectedText(textbox) {2 if (document.selection) {3 return document.selection.createRange().text;4 } else {5 return textbox.value.substring(textbox.selectionStart,textbox.selectionEnd);6 }7 }IE9之前不提供selectionStart,selectionEnd属性下面是根据起始位置和结束位置选取字符串: 1 function selectText(textbox, startI 阅读全文
posted @ 2011-05-15 15:09 HelloWorld.Michael 阅读(510) 评论(0) 推荐(0)
摘要: 1 var EventUtil = { 2 addHandler: function (element, type, handler) { 3 if (element.addEventListener) { 4 element.addEventListener(type, handler, false); 5 } else if (element.attachEvent) { 6 element.attachEvent("on" + type, handler); 7 } else { 8 element["on" + type] = handler; 阅读全文
posted @ 2011-05-14 13:21 HelloWorld.Michael 阅读(159) 评论(0) 推荐(0)
摘要: 有这么一个纠结的问题:在企业局域网中,常常使用AD(Active Directory)来管理用户。在企业内部的Web应用通常希望通过AD验证,即:当用户使用域帐号登陆机器的时候,访问企业的某个站点时不需要再经过验证就能登陆。Windows验证就能满足这样的要求。在自己的实际项目中遇到了这样的问题:当IIS开启了Windows验证以后,访问站点时会出现登陆框,这是不希望有的结果。归根结底,会出现登陆框就是用户对寄宿站点的IIS没有访问的权限或者权限不够高。此时可以检查一下Server(IIS所在的那个Server)的用户组下面的IIS_IUSR组是否包含了所在域的用户,如果没有则将AD用户加到I 阅读全文
posted @ 2011-03-22 17:36 HelloWorld.Michael 阅读(1275) 评论(0) 推荐(0)
摘要: AD中的组信息实际上并没有逻辑关系,因为一个用户可能在多个组中,一个组可能同时属于多个组,所以想到了用递归。 1 public class ADAccess 2 { 3 public StringBuilder GroupInfo { get; set; } 4 public ADAccess() 5 { 6 this.GroupInfo = new StringBuilder(); 7 } 8 public void GetGroupsByUser(DirectoryEntry root, string userName) 9 {10 List<string> uppers = 阅读全文
posted @ 2011-03-18 14:26 HelloWorld.Michael 阅读(767) 评论(0) 推荐(0)
摘要: 1 string domainAndName = Page.User.Identity.Name;2 string[] infoes = domainAndName.Split(new char[1] { '\\' }, StringSplitOptions.RemoveEmptyEntries);3 string userDomainName = "";4 string userName = "";5 if (infoes.Length > 1)6 {7 userDomainName = infoes[0];8 userName 阅读全文
posted @ 2011-03-14 17:40 HelloWorld.Michael 阅读(9057) 评论(9) 推荐(0)
上一页 1 ··· 3 4 5 6 7