asp.net 直接用AD域账号登录办公系统,怎么实现

wysfair 2010-12-24 01:39:08
现在在做一个OA系统...在网页里输入域账号和密码,验证登录,进入后台..

请问要怎么实?

在网上找了相关代码...登录一直失败!

http://wyf.javaeye.com/blog/692904

试过..不行..

...全文
1095 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
g505149841 2011-01-30
  • 打赏
  • 举报
回复

using System.DirectoryServices;

//srvr = ldap server, e.g. LDAP://domain.com
//usr = user name
//pwd = user password
public bool IsAuthenticated(string srvr, string usr, string pwd)
{
bool authenticated = false;

try
{
DirectoryEntry entry = new DirectoryEntry(srvr, usr, pwd);
object nativeObject = entry.NativeObject;
authenticated = true;
}
catch (DirectoryServicesCOMException cex)
{
//not authenticated; reason why is in cex
}
catch (Exception ex)
{
//not authenticated due to some other exception [this is optional]
}
return authenticated;
}
火箭兄 2011-01-30
  • 打赏
  • 举报
回复

string LDAPPath = "LDAP://" + domain;
string domainAndUsername = domain + @"\" + UserID;
DirectoryEntry entry = new DirectoryEntry(LDAPPath,
domainAndUsername,
Password);
Object obj;

try
{
// Bind to the native AdsObject to force authentication.
obj = entry.NativeObject;
}
catch (Exception er)
{
Console.WriteLine("Login Failure.");
}
finally
{
entry = null;
obj = null;
}


不用管Exchange这些东东,只需要到DC验证密码就好了。没有Exception就是通过了。
netna 2010-12-27
  • 打赏
  • 举报
回复
bool loginDomain(string userName, string pwd)
{
string adPath = "LDAP://gd.ctc.com"; //Path to your LDAP directory server
string domain = "gd.ctc.com";
bool isLogin = false;
LdapAuthentication adAuth = new LdapAuthentication(adPath);
try
{
if (adAuth.IsAuthenticated(domain, userName, pwd))
{
isLogin = true;
}
else
{
isLogin = false;
}
}
catch (Exception ex)
{
isLogin = false;
}
return isLogin;
}
casear_huang 2010-12-27
  • 打赏
  • 举报
回复
看来是没有找到用户名和密码会引发异常,异常就是“登录失败,用户没有找到或密码错误。”
wysfair 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 casear_huang 的回复:]
result = search.FindOne();
是通过这个方法获取的.
[/Quote]

还是不行...密码一错..就会引发异常
wysfair 2010-12-25
  • 打赏
  • 举报
回复
OH...NO...都去过圣诞节了....
Rock870210 2010-12-25
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 wysfair 的回复:]
C# code
obj = entry.NativeObject;



可是用户密码错误的时候...在这个时候就报错了..不会运行下去了....
[/Quote]
NativeObject:获取本机 Active Directory 服务接口 (ADSI) 对象。
这个obj没地方用的上吧
wysfair 2010-12-24
  • 打赏
  • 举报
回复
obj = entry.NativeObject;



可是用户密码错误的时候...在这个时候就报错了..不会运行下去了....
子夜__ 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 casear_huang 的回复:]

result = search.FindOne();
是通过这个方法获取的.
[/Quote]
回答的很精辟。
casear_huang 2010-12-24
  • 打赏
  • 举报
回复
result = search.FindOne();
是通过这个方法获取的.
wysfair 2010-12-24
  • 打赏
  • 举报
回复
嗯..我知道了...是可以实现...
但是..我怎么判断是不是用户名密码错误呢?而不是用Try来判断他用户名或密码错误
casear_huang 2010-12-24
  • 打赏
  • 举报
回复
out string strExchHName
这个参数也不要传入了。
casear_huang 2010-12-24
  • 打赏
  • 举报
回复
这是你没用安装exchange吧,你把
DirectoryEntry usrDirectoryEntry = result.GetDirectoryEntry();
string strExchHomeName = usrDirectoryEntry.Properties["msExchHomeServerName"].Value.ToString();
strExchHomeName = strExchHomeName.Remove(0,strExchHomeName.LastIndexOf("cn=")+3);
都注释了
wysfair 2010-12-24
  • 打赏
  • 举报
回复
string strExchHomeName = usrDirectoryEntry.Properties["msExchHomeServerName"].Value.ToString();


未将对象引用到设计实例
casear_huang 2010-12-24
  • 打赏
  • 举报
回复
strExchHName可以不需要,这个是获取用户的exchage存储组。
domain是你们的ad域,比如:abc.com
chinaxiaocha 2010-12-24
  • 打赏
  • 举报
回复
你在web.config 文件里加入以下代碼就OK了
<authorization>
<allow users="域\账号,***\********" />
<deny users="*" />
</authorization>
wysfair 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 casear_huang 的回复:]
public static bool ValidateUser(string UserID, string Password,string domain,out string strExchHName)
{
#region//AD验证
string LDAPPath = "LDAP://" + domain;
string domainAndUsername = domain + @"\"……
[/Quote]

LS....能清楚点吗?...strExchHName 指的什么?还要引用什么命名空间呢?
casear_huang 2010-12-24
  • 打赏
  • 举报
回复
public static bool ValidateUser(string UserID, string Password,string domain,out string strExchHName)
{
#region//AD验证
string LDAPPath = "LDAP://" + domain;
string domainAndUsername = domain + @"\" + UserID;
DirectoryEntry entry = new DirectoryEntry(LDAPPath,
domainAndUsername,
Password);
Object obj;
DirectorySearcher search;
SearchResult result;
try
{
// Bind to the native AdsObject to force authentication.
obj = entry.NativeObject;
search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + UserID + ")";
search.PropertiesToLoad.Add("cn");
result = search.FindOne();
if(null == result)
{
strExchHName ="";
return false;
}

//get user's mailbox server name
DirectoryEntry usrDirectoryEntry = result.GetDirectoryEntry();
string strExchHomeName = usrDirectoryEntry.Properties["msExchHomeServerName"].Value.ToString();
strExchHomeName = strExchHomeName.Remove(0,strExchHomeName.LastIndexOf("cn=")+3);

strExchHName = strExchHomeName;
// LDAPPath = result.Path;
// string filterAttribute = (String)result.Properties["cn"][0];
}
catch (Exception er)
{
strExchHName ="";
Object eobj = er;
return false;
}
finally
{
entry = null;
obj = null;
search = null;
result = null;
}
#endregion

return true;
}
《桃源企业文件管理系统》是在桃源网络硬盘5.X成熟平台上,针对企业、政府、学校、科研、传媒等企业级用户应用的开发的专业电子文档网络服务系统。 《桃源企业文件管理系统》适用于任何机构内部或内外之间的电子文档存储管理、网络服务、传阅签收、公文审批等业务流程,便于机构全体、部门、个人的电子文档共享,有关文档按机构、部门、项目组、职员进行严格管理,实现对文件的严格管理与可控共享。 《桃源企业文件管理系统》分免费共享版和付费商业版两种,用户可在本公司网站或各大下载站轻松获取、安装及应用免费共享版。商业版软件则参照国际惯例按用户数定价。提供更多功能、更优性能、更完善服务的商业软件产品(解决方案),免费软件与商业软件差异请浏览:http://www.mytaoyuan.com/product/qydoc/buy.asp。 一、系统特点: 1、强大文件上传:普通浏览器上传支持单个电子文档最大2G,浏览器ActiveX插件上传支持单个电子文档最大4G。支持多文件批量上传、断点续传、进度显示上传。 2、超强易用性能:采用BS(浏览器/服务器)模式服务,类WINDOWS操作方案,即使仅会用鼠标的用户也可在无培训情况下快速应用。加强版OFFICE文件的在线编辑和版本管理能力提供强大、丰富、有效的公文处理能力。 3、应用安全可靠:具有灵活的权限分配机制和文档管理体系,提供多层次安全解决方案,最大限度保护了用户关键信息和文件的可靠管理与应用。 4、组织结构:可动态添加管理公司名称、部门结构、工作组、用户,按照本公司的结构组织出来,方便文件按部门或用户流传签收。 5、完美兼容性:兼容firefox等非IE浏览器。 6、海量电子文档存储:支持单服务器多分区、多硬盘、多服务器分布式数据存储,轻松实现海量电子文档的存储服务,支持硬件存储存储平台。 二、主要功能: 作为一套专业的企业级网络软件,该软件依照微软技术架构体系,采用流行、成熟、安全的三层结构开发,有关产品的主要功能如下: 1、文件及目录操作:前台用户登录后可实现类似windows资源管理器的目录创建、删除和移动,文件上传、下载及文件列表查看,图片预览及多媒体文件在线播放(需安装多媒体播放器),文件剪切、复制、粘贴、改名、删除、注释、导航、压缩、解压缩等操作。 2、无限共享功能:支持目录和单个文件共享操作,共享目标可以选添公司、部门、项目组或指定用户,可设完全、添加、只读等权限控制。被授权的用户则可以通过签收目录或签收文件查看或应用共享内容。 3、多模式文件上传:支持多达5种文件上传模式,包括计算机浏览器普通上传、手机WAP浏览器普通上传(需安装WAP服务组件)、浏览器ActiveX插件批量文件上传、添加文件网址直接下载文件到用户空间、访客持上传码上传文件等。 4、文件预览或编辑:支持各种图片文件即时预览、媒体或flash文件在线播放、文本及PDF文件在线打开,可在后台扩充文件支持格式。可在线编辑TXT、word、excel、PowerPoint等格式文件,编辑后回存服务器,无需下载修改后上传,亦可做到只读显示,无权限人员不可复制、另存。 5、超级文件转发:不限制文件大小,转发内容可为单个或多个文件,勾选转发内容后系统将会把有关文件的下载链接发送到转发目标用户站内短消息或邮件中供其下载。 6、缩略图预览:前台用户当前目录下的所有图片文件以缩略图方式展示,类似windows中的缩略图功能,缩图按比例显示。 7、前台用户子帐号:支持前台用户建立多个同用户名,但密码不同的二级子账号,每个子账号对应相应子目录,系统支持丰富的子账号操作权限配置。有关访客可持二级子账号登陆后,按照该用户设置的权限获得服务系统有关服务。 8、文件回收站功能:前台用户操作中删除的目录或文件均会被转移到回收站,在这里做最后确认后可以删除或清空文件,也可以还原选择的目录或文件,避免误操作损失。 9、公共空间:由后台管理员启用并设置好公共空间各目录名称及共享权限,前台用户登录都可以按照分配给自己的权限(完全、只读、添加等)进入公共空间,能够实现了各个公司、部门、工作组只能查看有权查看的文件,并可按权限进行批阅、添加等操作。 10、访客文件提取及密码上传:访客可持系统前台用户提供的文件提取码进行文件提取操作,也可通过前台用户提供的上传密码向有关前台用户空间指定目录中上传文件。 11、完善的日志记录功能:后台管理员及用户前台的各种操作行为,访客或其它用户对有关用户文件进行的操作均会产生实时操作日志,以便于出现问题追根溯源。 12、文件(公文)签收审批:前台用户得到他们共享给其的文件(公文)时,可以向对方提交签收(审批)意见,文件共享者可以看到签收人数、时间及有关签收意见。 13、文件管理:管理员可按部门指定权限对用户文件进行管理。 14、共享审批:管理员可按部门指定权限对前台用户的共享进行审批,以确定其共享是否能够生效(在共享目标签收目录中显示)。 15、文件交换:支持第三方服务驱动程序,支持计算机与手机双终端双模、双网应用(需安装手机专用服务组件),支持部门、机构、集团分级电子文档的存储与服务,产品通过有关互动模块实现与同级或上级系统电子文档数据交换。 16、一次登陆:支持通过系统开放接口与第三方OA软件进行整合后,能够成为OA软件的电子文档管理服务后台,用户不必二次登陆即可进入该系统。 17、AD或LDAP整合:支持企业内部AD或LDAP环境的帐号直接整合登录,可设置DC地址,并且可进行相应同步或自动检测添加用户进行登录。 18、文件版本管理:在线编辑的office文件或文本文件保存时或上传覆盖时均可自动产生多个备份文件,以便查看或进行还原之用。 19、文件多属性:文件上传时可以设置所需要添加的多重属性,以便管理员查看、归档之用;前台用户也可自己查找设置。 20、文件加解密:提供上传文件自动加密,使管理员直接在服务器上无法查看文件内容,只有有权限的人通过本系统下载才能查看。 21、文件全文检索:可搜索到TXT、word、excel、PowerPoint等格式的详细文件内容文字,使得即使忘记文件名称也可以找到文件。 三、系统部署: 《桃源企业文件管理系统》主要部署在windows操作系统基础上,安装前需装Microsoft.NET Framework SDK2.0、3.0或3.5(2003系统自带该组件),应用软件管理目录具有IIS及asp.net完全权限。 在上述系统应用环境中,部署和安装软件的有关步骤请浏览:http://www.mytaoyuan.com/product/qydoc/setup.asp 有关软件安装及部署疑问及经验交流请进入我们的论坛:http://bbs.mytaoyuan.com/ 四、企业文件系统与网络硬盘系统的区别: 1、增加了组织结构定义功能,能按总部、分子公司、部门、工作组等定义组织结构,并灵活授权,提高安全性。 2、“文件共享”为按组织结构定义进行的完全、只读、添加、列表权限,指定部门、人员等。 3、“文件签收”功能,使系统更适合企业内部的公文流转服务,效率和可管理性均有很大提高; 4、“文件处理”中增加了文件回收站功能,能够避免失误删除造成的麻烦和损失,避免工作时间的无效延迟, 5、“公共空间”中增加了权限控制功能,使不同权限的用户仅能看到或操作自有权限的公共文件或目录,提高工作效率,加强系统安全性。 6、“文件预览”中增加了PDF文件预览功能,使办公需要处理PDF文件问题得到解决,提高了系统的方便性和可用性。 7、“文件转发、文件提取、上传码”等方面做了功能的加强与修正,提高了系统的易用性和便捷性。 8、“操作记录”中增加对共享文件被下载、复制、转发、删除、签收等15种操作行为记录,给操作追踪提供手段。 9、后台管理功能中,也提供了上一条相似的操作目录,使系统数据管理更加安全可靠。 10、在线编辑文本文件及office文件支持编辑锁定,防止同时编辑引起冲突。 盛世桃源企业文件管理软件更适合机构用户购买,用来建设自己的文件管理存储服务系统,以提高文件的存储备份、发送共享、管理服务等能力,从而成为企业信息管理系统中重要的一个子系统,成为在信息的输入、存储、应用、备份、维护等整个信息生命周期中一个重要的应用软件系统
桃源企业文件管理系统3.3更新说明: 增加手机HTML5版,手机可扫描首页二维码访问或通过http://网址/html5/访问(仅商业版提供) 共享的文件和文件夹后台管理员可以设置固顶 插件批量上传也要能够设置重名文件自动更名功能 用户信息中允许登录的IP只能识别一个 选中必须签收才能下载时应该不可以进行复制 先复制再移动相同的文件到同一个目录中时会重复出现 已伪删除或在回收站中的文件提取时还可下载的问题 已伪删除或在回收站中的文件夹用上传码时还可上传的问题 后台修改用户名时若用户名或文件夹已存在则提示 内置office控件编辑时另外一个人无法解除锁定 设置特定排序后左侧目录树和右侧排序不一致问题 IE11下无法选择共享对象的问题 一些浏览器兼容性问题   旧版用户升级方法: 1.上传除web.config文件、data目录之外的所有文件 2.在浏览器地址栏使用http://程序地址/update.aspx(注意为aspx后缀,非asp)方式浏览,看到升级成功字样即升级成功   一、系统特点: 1、强大文件上传:普通模式及浏览器ActiveX插件上传支持单个电子文档最大2G。支持多文件批量上传、断点续传、进度显示上传。 2、超强易用性能:采用BS(浏览器/服务器)模式服务,类WINDOWS操作方案,即使仅会用鼠标的用户也可在无培训情况下快速应用。加强版OFFICE文件的在线编辑和版本管理能力提供强大、丰富、有效的公文处理能力。 3、应用安全可靠:具有灵活的权限分配机制和文档管理体系,提供多层次安全解决方案,最大限度保护了用户关键信息和文件的可靠管理与应用。 4、组织结构:可动态添加管理公司名称、部门结构、工作组、用户,按照本公司的结构组织出来,方便文件按部门或用户流传签收。 5、完美兼容性:兼容firefox等非IE浏览器。 6、海量电子文档存储:支持单服务器多分区、多硬盘、多服务器分布式数据存储,轻松实现海量电子文档的存储服务,支持硬件存储平台。   二、主要功能: 作为一套专业的企业级网络软件,该软件依照微软技术架构体系,采用流行、成熟、安全的三层结构开发,有关产品的主要功能如下: 1、文件及目录操作:前台用户登录后可实现类似windows资源管理器的目录创建、删除和移动,文件上传、下载及文件列表查看,图片预览及多媒体文件在线播放(需安装多媒体播放器),文件剪切、复制、粘贴、改名、删除、注释、导航、压缩、解压缩等操作。 2、无限共享功能:支持目录和单个文件共享操作,共享目标可以选添公司、部门、项目组或指定用户,可设完全、添加、只读等权限控制。被授权的用户则可以通过签收目录或签收文件查看或应用共享内容。 3、多模式文件上传:支持多达5种文件上传模式,包括计算机浏览器普通上传、手机WAP浏览器普通上传(需安装WAP服务组件)、浏览器ActiveX插件批量文件上传、添加文件网址直接下载文件到用户空间、访客持上传码上传文件等。 4、文件预览或编辑:支持各种图片文件即时预览、媒体或flash文件在线播放、文本及PDF文件在线打开,可在后台扩充文件支持格式。可在线编辑TXT、word、excel、PowerPoint等格式文件,编辑后回存服务器,无需下载修改后上传,亦可做到只读显示,无权限人员不可复制、另存。 5、超级文件转发:不限制文件大小,转发内容可为单个或多个文件,勾选转发内容后系统将会把有关文件的下载链接发送到转发目标用户站内短消息或邮件中供其下载。 6、缩略图预览:前台用户当前目录下的所有图片文件以缩略图方式展示,类似windows中的缩略图功能,缩图按比例显示。 7、前台用户子帐号:支持前台用户建立多个同用户名,但密码不同的二级子账号,每个子账号对应相应子目录,系统支持丰富的子账号操作权限配置。有关访客可持二级子账号登陆后,按照该用户设置的权限获得服务系统有关服务。 8、文件回收站功能:前台用户操作中删除的目录或文件均会被转移到回收站,在这里做最后确认后可以删除或清空文件,也可以还原选择的目录或文件,避免误操作损失。 9、公共空间:由后台管理员启用并设置好公共空间各目录名称及共享权限,前台用户登录都可以按照分配给自己的权限(完全、只读、添加等)进入公共空间,能够实现了各个公司、部门、工作组只能查看有权查看的文件,并可按权限进行批阅、添加等操作。 10、访客文件提取及密码上传:访客可持系统前台用户提供的文件提取码进行文件提取操作,也可通过前台用户提供的上传密码向有关前台用户空间指定目录中上传文件。 11、完善的日志记录功能:后台管理员及用户前台的各种操作行为,访客或其它用户对有关用户文件进行的操作均会产生实时操作日志,以便于出现问题追根溯源

62,050

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧