asp.net 中获取当前计算机登录用户名
我用的是
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验证模式吗?
[解决办法]
------解决方案--------------------
Context.User.Identity.Name
[解决办法]
[解决办法]
这两个属性返回的用户名都是IIS用来执行ASP.NET代码的身份,就是ASPNET。这个是没有问题的。有时间lz可以研究一下IIS和ASP.NET的配置。
至于你希望看到自己的名字,那么请将ASP.NET的身份验证设为Windows并且启用ASP.NET impersonation。
相关的资料都可以在ASP.net和IIS.net上面搜索到。
[解决办法]
up!
[解决办法]
首先要在IIS中把你的网站的匿名登录取消。在代码中这样写,就可以取到当前登录windows的域用户。
string UserID=Page.User.Identity.Name;
[解决办法]
我之前在一个项目用过取当前AD用户的 ,看看行不行 ? 要引用 一个 Interop.ActiveDs.dll
- C# code
protected void Page_Load ( object sender, EventArgs e ) { if ( Page.User.Identity.IsAuthenticated == false ) { string userName = new WindowsPrincipal ( WindowsIdentity.GetCurrent () ).Identity.Name; //System.Environment.UserName; userName = userName.Split ( '\\' ) [1]; if ( !user.ExistsUser ( userName, "0" ) ) { Response.Write ( "Access Deny" ); } else { FormsAuthentication.RedirectFromLoginPage ( userName, true ); Response.Redirect ( "Default.aspx" ); } } else { Response.Redirect ( "Default.aspx" ); } }
[解决办法]
学习
[解决办法]
[解决办法]
Request.LogonUserIdentity.Name
[解决办法]
[解决办法]
学习了 有意愿的请进63242231群 C# 共同 学习 谢谢
[解决办法]
[解决办法]
UP!
[解决办法]
学习了 有意愿的请进63242231群 C# 共同 学习 谢谢
[解决办法]
[解决办法]
建议试下20楼的方法
[解决办法]
相关文章:http://blog.csdn.net/lfywy/archive/2008/07/16/2658623.aspx
相关帖子:http://topic.csdn.net/u/20080702/21/fc3826ba-2296-41f6-8049-3d0fbe5710b8.html
[解决办法]
Page.User.Identity.Name;
用这个吧。。
[解决办法]
[解决办法]
把IIS中的匿名登的勾去,再用
Request.ServerVariables["LOGON_USER"]
[解决办法]
[解决办法]
学习下
[解决办法]
学习
[解决办法]
lz说说你的应用场景是什么?
[解决办法]
其实就是IIS的身份验证的问题
你的这样的需求当让不能使用匿名了、
启用Windows身份验证 自然就能获取用户名、
[解决办法]
学习
[解决办法]
学习!