asp.net 利用DirectoryEntry来验证用户以及开机密码
代码有借鉴网上其他
命名空间:System.DirectoryServices
.NET Framework
4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.0 3.5 3.0 2.0 1.1
一:匹配输入信息,如用户名,密码
public static string Verify_PowerOnPwd(string userId, string userPwd){string retmsg = "success";string strADPath = "LDAP://10.133.2.202";//目录地址 如XXXX.com或133.134.0.1try{DirectoryEntry entry = new DirectoryEntry(strADPath, userId, userPwd);DirectorySearcher search = new DirectorySearcher(entry); //创建DirectoryEntry对象的搜索对象search.Filter = "(SAMAccountName=" + userId + ")"; //过滤条件为登录帐号=userSearchResult result = search.FindOne(); //查找第一个if (null == result) //没找到{retmsg = "cancel";}}catch (DirectoryServicesCOMException ex){if (ex.ErrorCode == -2147023570){retmsg = ex.Message.ToString();// "用戶名/密碼錯誤"; }//throw ex; }return retmsg;}
二:获取目录下所有信息
StringBuilder sb = new StringBuilder(); try { DirectoryEntry entry = new DirectoryEntry(string.Format("LDAP://{0}/OU={1},DC={2},DC={3}", domain, root, domain.Split('.')[0], domain.Split('.')[1]), domain + @"\" + user, pwd); DirectorySearcher mySearcher = new DirectorySearcher(entry); mySearcher.Filter = ("(objectClass=organizationalUnit)"); // 查找条件是entry 下的部门 sb.Append("[{id:'0',pid:null,text:'" + root + "',expand:true}"); int i = 1; foreach (SearchResult resEnt in mySearcher.FindAll()) //遍历所有部门 { string _a = resEnt.GetDirectoryEntry().Name.Split('=')[1]; if (_a != root) { sb.Append(",{id:'" + i.ToString() + "',pid:'0',text:'" + _a + "'}"); DirectorySearcher m1 = new DirectorySearcher(resEnt.GetDirectoryEntry()); //查找用户对象 m1.Filter = ("(objectClass=user)"); //查找条件是所有用户 foreach (SearchResult r1 in m1.FindAll()) //遍历该部门下的所有用户 { sb.Append(",{ id:'" + r1.GetDirectoryEntry().Properties["sAMAccountName"][0].ToString() + "',pid:'" + i.ToString() + "',text:'" + r1.GetDirectoryEntry().Properties["Name"][0].ToString() + "'}"); } i++; } } sb.Append("]");}catch(Exception){}
asp.net 利用DirectoryEntry来验证用户以及开机密码相关推荐
- 编写一个将用户输入的信息输出到网页的js程序 和 用if else验证用户输入的密码是否正确(两个代码)
js的一次作业罢了 tip:编写一个将用户输入的信息输出到网页的js程序 和 用if else验证用户输入的密码是否正确 (两个代码) 1.编写一个将用户输入的信息输出到网页的js程序 <!DO ...
- php 密码正则表达式,验证用户设置的密码强度正则表达式
这次给大家带来验证用户设置的密码强度正则表达式,验证用户设置密码强度正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下. 本文给出了两个密码强度的正则表达式方案,一个简单,一个更复杂和安全.并 ...
- 第8节 利用PE系统修改win系统开机密码
利用PE系统破解win系统开机密码 0引言 1问题及解决思路 2实操过程 2.1虚拟机操作 2.2实机操作 3总结 3.1 优点 3.2 缺点 0引言 在<利用win7漏洞绕过系统登录密码> ...
- 风影ASP.NET基础教学 4 验证控件
前言 无论什么应用软件系统,它最本质的功能和用途就是处理数据.这样,数据的安全性就成为了系统设计里面非常重要的话题,提交一些不安全的数据(如SQL注入.数据类型或者数据范围不合适等)常常会导致系统计算 ...
- asp.net 登录验证 mysql_Asp.net mvc验证用户登录之Forms实现详解
这里我们采用asp.net mvc 自带的AuthorizeAttribute过滤器验证用户的身份,也可以使用自定义过滤器,步骤都是一样. 第一步:创建asp.net mvc项目, 在项目的App_S ...
- Asp.Net Core WebApi 身份验证、注册、用户管理
Asp.Net Core WebApi身份验证.注册.用户管理 用户服务 用户实体.用户模型及数据上下文 应用程序设置文件 在Startup.cs中配置身份验证 参考文献 用了两天的时间研究了在Asp ...
- c# MVC利用AuthorizeAttribute验证用户是否登录
现在多数网站必须验证用户登陆并利用Session或者Cookie存储用户登陆后才能进行操作, 如果存储过期或者没用登陆则自动返回到登陆界面,而MVC自带AuthorizeAttribute属性进行验证 ...
- ASP.NET MVC使用Authorize过滤器验证用户登录
ASP.NET MVC使用Authorize过滤器验证用户登录.Authorize过滤器首先运行在任何其它过滤器或动作方法之前,主要用来做登录验证或者权限验证. 示例:使用Authorize过滤器实现 ...
- asp.net mvc 自定义全局过滤器 验证用户是否登录
一般具有用户模块的系统都需要对用户是否登录进行验证,如果用户登录了就可以继续操作,否则退回用户的登录页面 对于这样的需求我们可以通过自定义一个独立的方法来完成验证的操作,但是这样代码的重复率就大大提高 ...
- Asp.Net使用加密cookie代替session验证用户登录状态 源码分享 欢迎拍砖
小论坛地址: http://rayyu.5d6d.com/thread-9444-1-1.html 正文: 首先 session 和 cache 拥有各自的优势而存在. 他们的优劣就不在这里讨论了. ...
最新文章
- 枚举方式的线程安全的单例
- JS forEach()与map() 用法(转载)
- copying mysql status_mysql慢查询copying to tmp table
- srsLTE源码学习:MAC层抓包pcap
- 合肥信息技术职业学院计算机模拟考试准考证,【通知】全国计算机等级考试模拟测试通知...
- 已经围上为何不算目_万达为何至今不上市,并非王健林真的钱多,许家印的境遇说明一切...
- Json在线格式化校验 bejson.com
- Linux下调用wps的Tables接口,WPS二次开发简单示例
- appcan 文件下载到根目录(pdf)
- 2019电大计算机专业英语1答案,2019年最新国家开放大学电大《管理英语4》网络核心课形考网考作业附全答案...
- 运营商拆除2G基站,老家的老人机还有信号吗?
- DVB-subtitle解析流程浅
- 用Haskell写的卡普雷尔卡kaprekar黑洞小程序
- 安卓开发-模拟登陆上海理工大学-方正教务系统(HttpsURLConnection)
- 基于Python的信用评分卡模型-give me some credit数据集,AUC 0.93 KS 0.71
- 育儿心得-红脸,白脸
- 洛谷:珠心算测验(P2141)C语言
- 【C语言】初识指针(一)
- 青少年使用计算机过度头疼事例,青少年间歇性头疼怎么回事
- 【一起入门MachineLearning】中科院机器学习第*课-支持向量机SVM