asp.net 如何获取用户登陆后的用户名(AD 号?)

公司是个局域网,每个人都有自己的帐号登陆电脑,访问邮箱都不用再输入用户名和密码,现在我做的一个小系统放在上面也要省略登陆环节 有权限的人
点击就直接进来了 没有权限的进不去。这样就要获取客服端用户的用户名再与数据库中的判断有无权限。
我用UserName控件 在自己电脑上测试时候有 但是客户端就是空的了还有 这些语句的显示情况如下
主机 客服
System.Environment.UserName; 用户名 ASPNET
Request.ServerVariable["LOGON_USER"].ToString() 域名+用户名 为空
System.Web.HttpContext.Current.User.Identity.Name 域名+用户名 为空
很纠结 看了很多帖子 眼睛都花了,求大侠指点迷津,必当感激不尽,奉上50分

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.DirectoryServices;

namespace Demo
{
public class Demo
{
public Demo() { }
private void GroupInfo()
{
DirectoryEntry MainGroup = new DirectoryEntry("WinNT:");
foreach (DirectoryEntry domain in MainGroup.Children)
{
//this.listView1.Items.Add(domain.Name);此代码获取局域网内的所有机器名
//当局域网内有授权用户是,即TA已经登录成功,获得权限
//System.Net.Dns.GetHostName();获取用户名。
}
}
//通过机器名获取相应IP
private void ComputerInfo(String strname)
{
try
{
DirectoryEntry MainGroup = new DirectoryEntry("WinNT:");
foreach (DirectoryEntry domain in MainGroup.Children)
{
if (domain.Name == strname)
{
foreach (DirectoryEntry pc in domain.Children)
{
IPAddress[] ip = Dns.GetHostAddresses(pc.Name);
//this.listView2.Items.Add(pc.Name + ip[0].ToString());获取IP
}
}
}
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
}
}
}

参考资料:博客园

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答