请教:如何判断当前计算机用户是域登录还是本地登录呢

jinhuiyu 2009-06-02 11:42:34
WindowsIdentity currentIdentity = WindowsIdentity.GetCurrent();
WindowsPrincipal currentPrincipal = new WindowsPrincipal(currentIdentity);

我在我本地分别测试了连接到域和断掉网线两种情况,在两种情况下用同一个用户登录计算机, 好像两种情况下currentIdentity 和 currentPrincipal 没什么区别的,
如何才能判断当前用户是否是在域domain中呢?

谢谢各位帮忙
...全文
644 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinhuiyu 2009-06-03
  • 打赏
  • 举报
回复
谢谢各位!
jinhuiyu 2009-06-02
  • 打赏
  • 举报
回复
我的是一个Winform的系统,而且在断掉网络后也可以得到域名,跟在域中登录是一样的。
[Quote=引用 2 楼 linlusheng 的回复:]
把iis中的匿名登陆关掉,然后在代码中得到登陆的名字
string  strUserName;
strUserName=User.Identity.Name;//这个时候是strUserName是这样的格式:域名/登陆名
strUserName  =  strUserName.Substring(0,strUserName.IndexOf(@"\")); //得到域名
[/Quote]
linlusheng 2009-06-02
  • 打赏
  • 举报
回复
把iis中的匿名登陆关掉,然后在代码中得到登陆的名字
string strUserName;
strUserName=User.Identity.Name;//这个时候是strUserName是这样的格式:域名/登陆名
strUserName = strUserName.Substring(0,strUserName.IndexOf(@"\")); //得到域名
walkghost 2009-06-02
  • 打赏
  • 举报
回复
没做过,帮顶。
jinhuiyu 2009-06-02
  • 打赏
  • 举报
回复
不清楚楼上说的连接方式是什么意思? 用户验证时通过Active Directory进行的,由于本地用户组也包含了域用户
所以在没有与域服务器连接的时候也可以用

gomoku 2009-06-02
  • 打赏
  • 举报
回复

bool isDomainUser = currentPrincipal.IsInRole("Domain Users");

happyer_longlong 2009-06-02
  • 打赏
  • 举报
回复
连接方式是什么啊
通过网络来判断啊

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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