2010-06-11 71 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