Solved

Need to know if user is administrator

Posted on 2011-03-02
3
365 Views
Last Modified: 2013-12-17
How can I tell if the user is an administrator?
0
Comment
Question by:rmmarsh
  • 2
3 Comments
 
LVL 42

Expert Comment

by:sedgwick
ID: 35018378
To detect this you can get an object of WindowsIdentity like this:

WindowsIdentity identity = WindowsIdentity.GetCurrent();

Then create an instance of WindowsPrincipan by :

WindowsPrincipal principal = new WindowsPrincipal(identity);

and finally check it by using IsInRole() method like this:

string role = "BUILTIN\\Administrators";
bool IsAdmin = principal.IsInRole(role));

then you can use the IsAdmin variable to determine whether the current user is an Admin or not.
from http://csharptuning.blogspot.com/2007/09/detecting-is-current-user-is.html
0
 
LVL 42

Accepted Solution

by:
sedgwick earned 500 total points
ID: 35018384
another one:
//namespace imports
using System.Security.Principal;

/// <summary>
/// method for checking to see if the logged in user
/// is in the Administrator's group
/// </summary>
/// <returns></returns>
public bool IsUserAdministrator()
{
    //bool value to hold our return value
    bool isAdmin;
    try
    {
        //get the currently logged in user
        WindowsIdentity user = WindowsIdentity.GetCurrent();
        WindowsPrincipal principal = new WindowsPrincipal(user);
        isAdmin = principal.IsInRole(WindowsBuiltInRole.Administrator);
    }
    catch (UnauthorizedAccessException ex)
    {
        isAdmin = false;
        MessageBox.Show(ex.Message);
    }
    catch (Exception ex)
    {
        isAdmin = false;
        MessageBox.Show(ex.Message);
    }
    return isAdmin;
}

Open in new window

0
 

Author Closing Comment

by:rmmarsh
ID: 35018842
Thank you...
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

IP addresses can be stored in a database in any of several ways.  These ways may vary based on the volume of the data.  I was dealing with quite a large amount of data for user authentication purpose, and needed a way to minimize the storage.   …
Summary Displaying images in RichTextBox is a common requirement with limited solutions available. Pasting through clipboard or embedding into RTF content only support static images.  This article describes how to insert Windows control objects int…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question