2010-06-11 55 views
0

在我写的这个winform应用程序中,我想要保护大多数用户的一个菜单项。它运行一个月末,如果意外运行,不能轻易退出。菜单选项打开一个窗口,在处理之前提示用户输入一些信息。我不关心我在哪里做检查,但我想确保只有某些用户可以运行此功能。基于用户的安全菜单项

谷歌搜索(在我上面的问题标题)并没有明显的东西。任何人都可以指示我选择登录Windows的人员以及如何检查他们是否被授权?

+0

你如何决定'授权'?基于AD组?基于数据库调用?基于部署切换(例如特殊管理版本?一切取决于 – Reddog 2010-06-11 18:54:03

+0

@Reddog待定...现在(用于测试)它是硬编码的。这不是最终的解决方案。 – 2010-06-11 19:33:17

回答

3

This page有一些获取用户详细信息并检查它们的代码。

此代码:

public string GetloggedinUserName() 
{ 
    System.Security.Principal.WindowsIdentity currentUser = 
         System.Security.Principal.WindowsIdentity.GetCurrent(); 
    return currentUser.Name; 
} 

返回当前用户名。你可以用它来检查你的授权用户列表。

有关WindowsIdentity的更多详细信息,请参阅here

它有一个Groups属性,您可以使用它来检查组的成员身份,而不必检查单个用户。

+0

我必须与部门的其他人交谈,看看他们喜欢什么方法。 – 2010-06-11 19:34:23