如何获取AD用户

zhuqide 2008-10-25 10:37:13
当前web程序是基于Form验证的
现在要做一个功能,当客户端用户开机进入window时已经从域中登陆
当用户访问web时判断是否域中用户,如果是,则直接进入web程序
否则,跳到Form验证的登陆页

要怎样实现上面功能,请高手详细说明
现在问题是在Form验证的登陆页中获取不了客户端的当前用户window账号信息
...全文
1057 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
lana_jin 2012-05-25
  • 打赏
  • 举报
回复
windows验证,外网访问时,弹出window验证提示框,怎么才能跳转到登陆页面啊。高手指点下吧
brocale 2011-08-01
  • 打赏
  • 举报
回复
改成windows验证后用Security.Principal.WindowsIdentity.GetCurrent.Name 试试
brocale 2011-08-01
  • 打赏
  • 举报
回复
应该获取不到吧……
caoyuan58 2008-10-31
  • 打赏
  • 举报
回复
这种方式不太可能吧,要么是form方式验证,要么是windows验证,这个需要在webconfig和IIS里一次性设置的啊
jiang_jiajia10 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 JeffChung 的回复:]
客户端只能用javascript获取,当然,前提是有权限才能获取。客户端要添加到信任网站吧

获取到之后再回传咯,ajax也好


HTML code
<script language=javascript>

var wshNetwork = new ActiveXObject("WScript.Network");

alert("域名 = "+ wshNetwork.UserDomain);

alert("计算机名 = "+ wshNetwork.ComputerName);

alert("登录用户名 = "+ wshNetwork.UserName);
</script>
[/Quote]
zhuqide 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 woaixueyu 的回复:]
验证方式 的选择 是为了 你让你了解 客户端的信息的,判断 代码还是要自己写撒,
FORM 验证 说白了 就是表单验证,就是你提供一个 登陆页面,让用户输入用户名和密码

你开了 WINDOWS 验证,获取用户信息,去AD验证,如果False 怎么 跳转到登陆页面,TRUE就 执行 下面的程序
OK?
[/Quote]
用户信息一定要Windows验证才能获得到吗?
如果开了windows验证,用户访问时,是不是会弹出window验证提示框?
我改为windows之后,用其它电脑访问时,会出现window登陆框的。能不能不出现那个直接进入Form登陆页由我自行操作
用windows验证,IIS要怎样设置,启用匿名还是不启用啊?
wfyfngu 2008-10-30
  • 打赏
  • 举报
回复
好像有一种方式可以
就是在登录前检查用户的电脑名
看看电脑名是否是域成员
如果是,可以认为用户已经登录。
woaixueyu 2008-10-30
  • 打赏
  • 举报
回复
验证方式 的选择 是为了 你让你了解 客户端的信息的,判断 代码还是要自己写撒,
FORM 验证 说白了 就是表单验证,就是你提供一个 登陆页面,让用户输入用户名和密码

你开了 WINDOWS 验证,获取用户信息,去AD验证,如果False 怎么 跳转到登陆页面,TRUE就 执行 下面的程序
OK?
zhuqide 2008-10-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 woaixueyu 的回复:]
这个不懂说明你对IIS 权限的流向 以及 IIS 是如何处理的 还不很清楚!
FORM 验证实际上是IIS 自动给 客户端分配了一个 用户名:好像是ASPNET (具体自己去查)

也就是 为什么: 在Forms验证下,只获到 aaa/ASPNET
你设置为 WINDOWS 验证,那么 IIS 就要求 客户端必须 提供 访问者的 信息,这样你就可以 获取 客户端的信息了
在到AD去验证就 OK了
[/Quote]
那有没有办法在Forms验证模式下,判断客户端用户是否AD用户?

如果改为windows验证,外网用户进行web时,是不是会弹出window验证提示框?

我想实现的是,如果用户是AD用户就直接进入web,其它一律从Forms登陆页处进行登陆(整个过程不出现window验证提示框)

我是新手,不是很会用那些验证模式
wanghao3616 2008-10-25
  • 打赏
  • 举报
回复


iis中设置:
IIS-》默认网站-》属性-》目录安全性-》编辑-》集成windows身份验证
实现集成windows验证很简单 配置一下就可以了 但是要获取 当前windows用户 估计权限不够吧

zhuqide 2008-10-25
  • 打赏
  • 举报
回复
其实就是想做一个功能,内网域用户不用验证,用域登入windows就可以访问网站
zpcoder 2008-10-25
  • 打赏
  • 举报
回复


当客户端用户开机进入window时已经从域中登陆
当用户访问web时判断是否域中用户,如果是,则直接进入web程序
否则,跳到Form验证的登陆页



晕了,这是 MCSE 的事,如你的程序何干?? 你把你的程序放到一个电脑上。让管理员负责。
这跟软件一点关系都没有。
zpcoder 2008-10-25
  • 打赏
  • 举报
回复

这简直是个超难度的问题。问你们公司 MCSE 的人 看AD 这个活动目录存在什么地方。

然后再想办法。用WEBFORM 9成有点玄乎
JeffChung 2008-10-25
  • 打赏
  • 举报
回复
客户端只能用javascript获取,当然,前提是有权限才能获取。客户端要添加到信任网站吧

获取到之后再回传咯,ajax也好


<script language=javascript>

var wshNetwork = new ActiveXObject("WScript.Network");

alert("域名 = "+ wshNetwork.UserDomain);

alert("计算机名 = "+ wshNetwork.ComputerName);

alert("登录用户名 = "+ wshNetwork.UserName);
</script>

paulin 2008-10-25
  • 打赏
  • 举报
回复
关注
woaixueyu 2008-10-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zhuqide 的回复:]
问题是如何判断客户端是否从域中登陆
[/Quote]

这个不懂说明你对IIS 权限的流向 以及 IIS 是如何处理的 还不很清楚!
FORM 验证实际上是IIS 自动给 客户端分配了一个 用户名:好像是ASPNET (具体自己去查)

也就是 为什么: 在Forms验证下,只获到 aaa/ASPNET
你设置为 WINDOWS 验证,那么 IIS 就要求 客户端必须 提供 访问者的 信息,这样你就可以 获取 客户端的信息了
在到AD去验证就 OK了
woaixueyu 2008-10-25
  • 打赏
  • 举报
回复
其实比较 简单了,IIS 上或者 WEB.CONFIGE上 设置为WINDOWS验证,用PAGE类获取 用户名,在到AD 服务器上 验证
,一般 这个 验证AD 用户 是写一个WEB SERVICE 不写也 可以就这么 EASY 我做过 关于AD的 项目,不懂请联系QQ 381705360
zero8500 2008-10-25
  • 打赏
  • 举报
回复
session
zhuqide 2008-10-25
  • 打赏
  • 举报
回复
问题是如何判断客户端是否从域中登陆
zhuqide 2008-10-25
  • 打赏
  • 举报
回复
Security.Principal.WindowsIdentity.GetCurrent.Name
在Forms验证下,只获到 aaa/ASPNET
我需要的是当前用户的域登陆用户名
加载更多回复(2)

62,046

社区成员

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

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

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

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