我用的是
CurrentIdentity.Name 得到的结果是WANGZW-SHWY\ASPNET 前面的wangzw-shwy是我的计算机名称,我的登录名是wangzhiw
System.Environment.UserName 得到的结果是ASPNET
上面是我试的两个方法,在项目中运行是可以获得我的登录用户名,但是一放到IIS上布置后就成了上述情况
请各位高手指点迷津
------解决方案--------------------------------------------------------
http://www.ninedns.com/asp.net/
主机名 = Server.MachineName;
IP地址 = Request.UserHostAddress;
系统时间 = DateTime.Now.ToString();
服务端口 = Request.ServerVariables["SERVER_PORT"];
操作系统 = Environment.OSVersion.ToString().Remove(0, 10);
环境版本 = Request.ServerVariables["SERVER_SOFTWARE"];
private void GetInfo()
{
string cpuInfo = "";//cpu序列号
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
Response.Write ("cpu序列号:"+cpuInfo.ToString ());
}
//获取硬盘ID
String HDid;
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach(ManagementObject mo in moc1)
{
HDid = (string)mo.Properties["Model"].Value;
Response.Write ("硬盘序列号:"+HDid.ToString ());
}
//获取网卡硬件地址
9558821702001755616
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc2 = mc.GetInstances();
foreach(ManagementObject mo in moc2)
{
if((bool)mo["IPEnabled"] == true)
Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString());
mo.Dispose();
}
}
------解决方案--------------------------------------------------------
那你应说是得到客户机名称,
------解决方案--------------------------------------------------------
又是一个想写病毒的~~~
------解决方案--------------------------------------------------------
WindowsPrincipal wp = new WindowsPrincipal(WindowsIdentity.GetCurrent());
string[] logon = wp.Identity.Name.Split('\\');
string UserDomain = logon[0];//网域
string UserName = logon[1].ToString().ToLower();//登陆名
------解决方案--------------------------------------------------------
Function GetLocalUserName
Declare integer GetUserName in advapi32 string @lpBuffer, integer @nSize nSize = 250 lpBuffer = SPACE(nSize) If GetUserName (@lpBuffer, @nSize) > 0 lpBuffer = STRTRAN( allt(Subs(lpBuffer, 1, nSize)), CHR(0), [])
Return lpBuffer
Else
Return [] EndifEndfunc
------解决方案--------------------------------------------------------
很难,
操作系统不需要登录看到桌面后,iis才能够运行的
iis 服务是WANGZW-SHWY\ASPNET身份运行的
------解决方案--------------------------------------------------------
web.config里设置了Forms验证模式吗?
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------