2010-11-08 78 views
0

我想为我的应用程序提供超级用户权限。使用备用Windows凭据替代

我想提供一个用户名登录提示(包括域名)。如果用户处于允许列表中并且密码正确,请显示高级控制。

什么.NET代码/函数允许这样做?

NOTE: VB.net首选答案。 C#也接受。

编辑:请注意,登录的用户不是授权覆盖的用户。

回答

0

如果你想检查给定的域名服务器的用户名和密码凭证是否正确,那么你可能需要使用LogonUser函数。我不认为该函数有一个托管包装,所以你将不得不捏住它。有关更多详细信息和示例,请参阅PInvoke网站。

0

取决于你如何想获得批准的用户列表到应用程序,你可以做这样的事情:

Dim adminUser As New List(Of String)(New String() {"admin1", "admin2", "admin3"}) 
Dim loggedInUser As String = Environment.UserName.ToLower 
If Not adminUser.Contains(loggedInUser) Then 
    TabControl1.TabPages.RemoveAt(TabControl1.TabPages.IndexOf(Tab_AdminOnly)) 
End If 

这里假设你有一个选项卡(Tab_AdminOnly),有你只需要管理的项目人有。您可以根据需要禁用/删除控件。

+0

我编辑了我的主要职位并加以澄清。登录的用户不是授权覆盖的用户。 – Steven 2010-11-08 21:36:12

+0

所以这是一个“后门”,以便管理员可以查看用户在应用程序中做了什么?或者,这是应用程序的变体,需要用户登录,然后管理员才能进入他们的桌面,并使用用户发起的应用程序,能够登录并执行管理员所做的任何操作? – wergeld 2010-11-08 21:46:00