C#制作网页得用户名,用户域domain

1153人阅读 评论(0) 收藏 举报

            string domainAndName = HttpContext.Current.User.Identity.Name;//得到当前浏览网页的用户名(windows登录名一般网络上验证登录的话就像: google/ss,这里google是域,ss是自己的用户名)
            string[] infoes = domainAndName.Split(new char[1] { '//' }, StringSplitOptions.RemoveEmptyEntries);//这里将用户名和域分离开了
            string strDomain = infoes[0].ToLower() ;
            string username = infoes[1]; 

这个前提是以windows集成登录为前提。不能是匿名登录。

还有几种方法:

string domain = Environment.GetEnvironmentVariable("USERDOMAIN");这样也是可行的。但是这个只是在本机环境下,也就是不能是网页运行这段代码。必须是一个应用程序。

System.Security.Principal.WindowsIdentity.GetCurrent().name;这个用于得到机器的用户名和域。但是对于网站来说一样行不通。

这是因为一般我们运行程序是以登录用户的用户名启动。而网站的运行是System用户。所以使用以上两个在网站发布的时候只能得到ASP.net这个域,因为IIS是以System运行的。但是在.net调试的时候,.net2005启动是另一套debug的网站发布机制,并且是以当前登录的用户身份运行的。  所以这使得在调试时正确的网站,但是发布后去错误了。但是如果使用的.net2003这又另当别论。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1177512次
    • 积分:18103
    • 等级:
    • 排名:第514名
    • 原创:567篇
    • 转载:85篇
    • 译文:1篇
    • 评论:791条
    文章存档
    最新评论