asp.net连接LDAP数据,并从LDAP中取出相关数据(1)
ASP.NET连接LDAP数据库的有关信息
一、封装在DAL层中的获取用户信息的函数
/// <summary>
/// 按照用户Id查找用户信息
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
publicDirectoryEntry GetUser(string username)
{
string path = System.Configuration.ConfigurationManager.ConnectionStrings["path"].ConnectionString;
string pname = System.Configuration.ConfigurationManager.ConnectionStrings["pname"].ConnectionString;
string pwd = System.Configuration.ConfigurationManager.ConnectionStrings["pwd"].ConnectionString;
// 3个连接数据库的信息写在配置文件里
DirectoryEntry deuser; //定义变量
try
{
DirectoryEntry de = newDirectoryEntry (path, pname, pwd, AuthenticationTypes.Secure);
DirectorySearcher deSearch = newDirectorySearcher(de); //连接LDAP数据库
deSearch.Filter = "(&(objectClass=userinfo)(LOGINNAME=" + username + "))"; //筛选比对
//上面这句话修改为:mySearcher.Filter = "(&(objectClass=userinfo)(&(LOGINNAME=" + txtUserId.Text + ")(LOGINPASSWORD=" + txtUserPwd.Text + ")))";//作为登录是用户帐号和密码认证
deSearch.SearchScope = SearchScope.Subtree;
SearchResult result = deSearch.FindOne(); //筛选比对得出一个结果,存储在result中
if (result != null)
{
deuser = result.GetDirectoryEntry(); //得到筛选结果,并赋值给deuser中
return deuser;
}
else
{
returnnull;
}
}
catch(Exception ex)
{
// LogManage.SaveInfo(ex.ToString());
returnnull;
}
二、配置文件信息
<connectionStrings>
<add name="path"
connectionString="LDAP://192.168.1.1/OU=123,DC=123,DC=COM" />
<add name="pname"
connectionString="123" />
<add name="pwd"
connectionString="123" />
</connectionStrings>
三、实现层
1、页面信息
用户id:(textbox框)
用户名称:(textbox框)
用户密码:(textbox框)
电子邮箱:(textbox框)
ButtonID="butquchu"(读取数据按钮)
2、事件函数代码
protectedvoid butquchu_Click(object sender, EventArgs e)
{
ldapDAO ld= newldapDAO ();
string username = Session["LOGINNAME"].ToString(); //根据上一页的登录信息获取用户帐号,存储在session中。
labname.Text = username;
DirectoryEntry de = ld.GetUser(username); //调用ldapDAO中的获取用户信息函数
if (de != null)
{
if (de != null)
{
if (de.Properties["USERID"].Value != null)
{
txtuserid.Text = de.Properties["USERID"].Value.ToString();
}
if (de.Properties["LOGINNAME"].Value != null)
{
txtusername.Text = de.Properties["LOGINNAME"].Value.ToString();
}
if (de.Properties["LOGINPASSWORD"].Value != null)
{
txtpwd.Text = de.Properties["LOGINPASSWORD"].Value.ToString();
}
if (de.Properties["EMAIL"].Value != null)
{
txtmail.Text = de.Properties["EMAIL"].Value.ToString();
}
}
asp.net连接LDAP数据,并从LDAP中取出相关数据(1)的更多相关文章
- 从JSON数据中取出相关数据
参考: http://www.cnblogs.com/shuilangyizu/p/6019561.html JSON数据如下: { "total": 1, "rows& ...
- (26)ASP.NET Core EF保存(基本保存、保存相关数据、级联删除、使用事务)
1.简介 每个上下文实例都有一个ChangeTracker,它负责跟踪需要写入数据库的更改.更改实体类的实例时,这些更改会记录在ChangeTracker中,然后在调用SaveChanges时会被写入 ...
- 大数据系列-CDH环境中SOLR入数据
1 创建集合 SSH远程连接到安装了SOLR的CDH节点. 运行solrctl instancedir --generate /solr/test/GX_SH_TL_TGRYXX_2 ...
- for循环中进行联网请求数据、for循环中进行异步数据操作,数据排序错乱问题解决;
for循环中进行联网请求数据,由于网络请求是异步的,第一个网络请求还没有回调,第二次第三次以及后续的网络请求又已经发出去了,有可能后续的网络请求会先回调:这时我们接收到的数据的排序就会错乱:怎么才能让 ...
- 利用excel数据透视表实现快速统计相关数据
昨天ytkah在做数据报表时需要做一些具体统计数字:公司每天都有人申请铅笔.笔记本等一些文具用品,现在想要统计每天申请铅笔多少支.笔记本多少本,如下图所示,这个要如何实现呢? excel数据透视表怎么 ...
- [python]mysql数据缓存到redis中 取出时候编码问题
描述: 一个web服务,原先的业务逻辑是把mysql查询的结果缓存在redis中一个小时,加快请求的响应. 现在有个问题就是根据请求的指定的编码返回对应编码的response. 首先是要修改响应的bo ...
- 【记录】T-SQL 分组排序中取出最新数据
示例 Product 表结构: 示例 Product 表数据: 想要的效果是,以 GroupName 字段分组,取出分组中通过 Sort 降序最新的数据,通过示例数据,可以推算出结果数据的 ID 应该 ...
- [Tips]ASP.NET MVC 发布到服务器后Model中属性相关的Attribute失效
Asp.net MVC4 开发的项目,发布到真实环境环境后Model中的一个属性设置的了Attribute,但是这些Attribute都失效. 经过对比和坚持代码发现控制长度的Attribute使用错 ...
- sqoop导入数据到hive表中的相关操作
1.使用sqoop创建表并且指定对应的hive表中的字段的数据类型,同时指定该表的分区字段名称 sqoop create-hive-table --connect "jdbc:oracle: ...
随机推荐
- day01作业
Java技术按照用途不同分为三大版本,分别是JavaSE.JavaEE和JavaMeJava虚拟机就是一个虚拟的用于执行字节码文件的计算机.它是Java最核心的技术,是Java跨平台的基础.DOS命令 ...
- 网页转图片,html生成图片,网页生成图片(基于linnux+phantomjs)和wkhtmltoimage
安装扩展: (1)下面是我在linux上的安装过程,如果没有安装git请先yum install git 安装casperjs cd / git clone git://githu ...
- Delphi根据字符串实例化对象
我们可以通过ClassRegistry单元的TClassRegistry类很轻松的根据字符串创建出对象. 下面是该类几个主要函数的说明: // 获取TClassRegistry自身的单例引用class ...
- nodeJs 常用模块(一)
url url.parse() querystring querystring.parse( [string] , [分隔符] ) ,解析为js字面量 querystring.stringify() ...
- SICP第三章题解
目录 SICP第三章题解 ex3-17 ex3-18 ex3-19 队列 ex3-21 ex3-22 ex3-24 ex3-25 3.4 并发:时间是一个本质问题 ex3-38 3.4.2 控制并发的 ...
- 【hdoj_2100】Lovekey(大数+字符处理)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2100 根据题目意思,现将字符串转化为10进制,再采用10进制加法相加,再转化为26进制. 另一种直接的思路 ...
- MVC – 5.MVC设计模式和.NetMVC框架
MVC模式-设计模式 •控制器(Controller)- 负责转发请求,对请求进行处理. •视图 (View) - 界面设计人员进行图形界面设计. •模型 (Model)-业务逻辑.数据.验证规则.数 ...
- 当参数为带参数的url时怎么办?
比如地址为:http://www.baidu.com/index.aspx?url=http://www.baidu.com/info.aspx?id=1&type=1,用Request[&q ...
- .Net使用Redis详解之ServiceStack.Redis
序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现,其中会对list的阻塞功能和事务的运用做二个案例,进行记录学习. Redi ...
- qrcode 生成二维码
qrcode 生成二维码 Demo: https://www.hgnulb.cn/freedom/qrcode/qrcode.html qrcodeGithub 地址: https://github. ...