登录域后直接进系统,无需登录验证!若不是该域用户需要登录验证---遇到的问题!望高手进解决!

lfywy 2008-07-03 08:43:51
现在项目中遇到客户需要建立一个域后,只要登录到域里的用户,可以直接进入系统无需填写登录账号密码的!
每次登录到域里的登录名是可以拿到的!
现在我要的是怎么样才能知道匹配的是登录到域了以及域下所有的登录账号如何取得???
环境是域和WEB服务网站都是自己可以设置的!
用户有两种:1.登录到域里的用户 2.不在域里的用户。大家都访问一个自己做的WEB网站。
望高手解决,能给详细代码!
...全文
453 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
lfywy 2008-07-16
  • 打赏
  • 举报
回复
jerry_zuo 2008-07-09
  • 打赏
  • 举报
回复
问客户你需要什么需求,只叫IT民工们泪散当场!!!
lfywy 2008-07-09
  • 打赏
  • 举报
回复
谢谢xocom!我现在已经基本完全解决了所有问题!在网上找了好多资料,你这方面的我已经用了!
紫气东来_999 2008-07-08
  • 打赏
  • 举报
回复
找到这贴了,呵呵,
今天看了下公司里登陆域的代码




#region IsAuthenticated 判断是否域用户
/// <summary>
/// 判断是否域用户
/// </summary>
/// <param name="username">用户名</param>
/// <param name="pwd">密码</param>
/// <param name="domain">域名</param>
/// <returns></returns>
public bool IsAuthenticated(string username, string pwd, string domain)
{
string ADPath = "LDAP://" + domain;
DirectoryEntry entry = new DirectoryEntry(ADPath,
username, pwd);

try
{
Object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + username + ")";
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (null == result)
{

return false;
}
//string str = result.GetDirectoryEntry().Properties["displayName"].Value.ToString();

return true;
}
catch (Exception ex)
{
//AppException oAppException = new AppException("AD Services Login", ex);
return false;
}
}
#endregion



if( IsAuthenticated(this.username.Value, this.userpassword.Value,"xxx.net")==true)  就可以进行检验了


微软在这:
http://msdn.microsoft.com/zh-cn/library/ms180890.aspx


lfywy 2008-07-05
  • 打赏
  • 举报
回复
我现在想实现用C#语言拿到域名和域IP地址,当然是在进入域环境后拿到,我用JS语言已经拿到,不过总要把Active启用或添加信任站才可以!而且我已经实现拿到域名下的所有用户的登录名了!
望高手指点!
JS语句拿域名:
var WshNetwork = new ActiveXObject("WScript.Network");
alert("Domain = " + WshNetwork.UserDomain);//此为拿域名
alert("Computer Name = " + WshNetwork.ComputerName); //机器名
alert("User Name = " + WshNetwork.UserName);
lfywy 2008-07-03
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 cestar2005 的回复:]
域认证是很有必要的,安全度不用说了!在一个已经登录到域里了,就算认证了!在进服务的话就无需验证登录了,直接进入系统,这是人家领导要要的功能,客户需求,没办法!
-------------------
呵呵,觉得很好笑,缺乏常识,要是我是这个系统的设计者我就能说服客户按照我的要求进行设计,因为我们是专业的,反过来你都让些业余的人牵着走了,那做事就太被动了.
我还没见过B/S系统要登陆服务器再使用这个系统的,最多在你的…
[/Quote]
无语~~~
没法解释!道不同啊!
cestar2005 2008-07-03
  • 打赏
  • 举报
回复
域认证是很有必要的,安全度不用说了!在一个已经登录到域里了,就算认证了!在进服务的话就无需验证登录了,直接进入系统,这是人家领导要要的功能,客户需求,没办法!
-------------------
呵呵,觉得很好笑,缺乏常识,要是我是这个系统的设计者我就能说服客户按照我的要求进行设计,因为我们是专业的,反过来你都让些业余的人牵着走了,那做事就太被动了.
我还没见过B/S系统要登陆服务器再使用这个系统的,最多在你的系统里用cookies之类记住他最后登陆的用户名和密码就行了,那他再次登陆时就无需再次输入用户密码之类了
lfywy 2008-07-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 cestar2005 的回复:]
感觉这种做法很不符合常识,不管C/S还是B/S模式因为普通操作用户应该不会都登陆到服务器再来使用你的系统,
如果你只是要做到不同类别的人有不同权限,为什么不在系统里做个简单的权限管理模块,将用户分组就行了
[/Quote]
你去看看http://topic.csdn.net/u/20080702/21/fc3826ba-2296-41f6-8049-3d0fbe5710b8.html14楼说明吧!
cestar2005 2008-07-03
  • 打赏
  • 举报
回复
感觉这种做法很不符合常识,不管C/S还是B/S模式因为普通操作用户应该不会都登陆到服务器再来使用你的系统,
如果你只是要做到不同类别的人有不同权限,为什么不在系统里做个简单的权限管理模块,将用户分组就行了
心情解码 2008-07-03
  • 打赏
  • 举报
回复
最好是更改自己的域名称到一个统一的域里面

如果不想改 只有把服务器的域改回原来的工作组了..
烈火焚身 2008-07-03
  • 打赏
  • 举报
回复
帮楼主顶!!!
赵一一 2008-07-03
  • 打赏
  • 举报
回复
使用Windows身份验证不知道能不能解决问题?还有将IIS和Web程序结合起来也许可以做到。
smntbk 2008-07-03
  • 打赏
  • 举报
回复
帮顶
Fus371x 2008-07-03
  • 打赏
  • 举报
回复
mark
CloneCenter 2008-07-03
  • 打赏
  • 举报
回复
如果是asp.net应用程序,使用Windows身份验证不知道能不能解决问题?还有将IIS和Web程序结合起来也许可以做到。
如果是Winform,则只有通过提取用户相关信息来实现了。
SSXYC 2008-07-03
  • 打赏
  • 举报
回复
关注.......
zzyhuian06142 2008-07-03
  • 打赏
  • 举报
回复
建议的页面的load里面就得到当前登入电脑的帐号,然后再通过帐号访问AD,如果帐号存在的话就自动跳转
live_7sky 2008-07-03
  • 打赏
  • 举报
回复

顶一个,

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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