| 

.NET C# Java Javascript Exception

4
Wie kann ich in einer Anwendung prüfen, ob der aktuelle Benutzer über Administratorrechte verfügt? Ziel ist es, ausgewählte Programmfunktionen nur für Administratoren freizuschalten.
16.03.2011
Kheamwali 41 1 2
2 Antworten
4
Du kannst prüfen ob der aktuelle User in der Gruppe der Admin ist:
Beispiel:

/// <summary>
/// Prüft ob der angemeldete User ein Administrator ist
/// </summary>
public static bool IsAdministrator()
{
var windowsIdentity = WindowsIdentity.GetCurrent();

return windowsIdentity != null &&
new WindowsPrincipal
(
windowsIdentity ).IsInRole( WindowsBuiltInRole.Administrator
);
}


Über die Enumeration "WindowsBuiltInRole" können auch weitere Rollenzugehörigkeiten geprüft werden:

namespace System.Security.Principal
{
[ComVisible(true)]
[Serializable]
public enum WindowsBuiltInRole
{
Administrator = 544,
User = 545,
Guest = 546,
PowerUser = 547,
AccountOperator = 548,
SystemOperator = 549,
PrintOperator = 550,
BackupOperator = 551,
Replicator = 552,
}
}


Beispiel:
/// <summary>
/// Prüft ob der angemeldete User die entsprechende Rolle hat
/// </summary>
public static bool IsUserInRole(WindowsBuiltInRole windowsBuiltInRole )
{
var windowsIdentity = WindowsIdentity.GetCurrent();

return windowsIdentity != null &&
new WindowsPrincipal
( windowsIdentity).IsInRole(windowsBuiltInRole
);
}


Aufruf:
if (IsUserInRole( WindowsBuiltInRole.BackupOperator ))
{
...
}
16.03.2011
Jorgen Schumann 1,6k 2 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH