Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 427
  • Last Modified:

C sharp user interface security/permissions

I've searched the web for the last 2 days and cannot find what any help, so here I am.

I'm looking for c sharp samples on implementing a user interface security system. Not RBS. I need to be able to assign access permissions to add, edit or delete buttons on a form based on user or group level security.
0
gnixon14
Asked:
gnixon14
1 Solution
 
nhenny2009Commented:
If I am understanding your question correctly, then try the code below to help you determine the users "group" membership then you can enable/disable buttons as needed based on their group membership.  Take a close look at "WindowsBuiltInRole"...this is what will allow you to do other checks besides "admin" as I have in the example below.

Hope this helps.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Security.Principal;
 
 
namespace testingapp
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            bool IsAdmin = false;
            AdminCheck AC = new AdminCheck();
            IsAdmin = AC.IsUserAdministrator();
            MessageBox.Show("Is user \"" + System.Environment.UserName + "\" is an Admin? " + IsAdmin.ToString(), "Admin Check"); 
            
        }
    }
 
    public class AdminCheck
    {
 
        /// <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
 
gnixon14Author Commented:
that might work, but I'm trying to avoid using Role Based Secuirty.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now