Lecture – Windows Membership and Roles

Windows Membership and Roles

Prerequisites

Should be familiar with the default VS 2012 project covered in Topic – Getting Started with Web Form Applications

Summary

Windows has built-in roles and membership management. This lecture shows how to access the properties of the Membership class, Page Context, and create and delete roles as well assigning these roles to users.

Video 

Reference Materials

UserInformation.aspx

<%@ Page Title=”” Language=”C#” MasterPageFile=”~/Site.Master” AutoEventWireup=”true” CodeBehind=”UserInformation.aspx.cs” Inherits=”SampleApplicationCOP4834.UserInformation” %><asp:Content ID=”Content1″ ContentPlaceHolderID=”HeadContent” runat=”server”></asp:Content><asp:Content ID=”Content2″ ContentPlaceHolderID=”FeaturedContent” runat=”server”>    <h1>Information About Current User</h1><br />    Current Windows login: <asp:Label ID=”lblWLogin” runat=”server” Text=””></asp:Label><br />    <br /><br />    <h2>Context Properties</h2><br />    <asp:Literal ID=”litContext” runat=”server”></asp:Literal>    <br /><br />    <h2>Membership Properties</h2><br />    <asp:Literal ID=”litMembership” runat=”server”></asp:Literal>    <br /><br />    <b>Create a New Role:</b> <asp:TextBox ID=”RoleName” runat=”server”></asp:TextBox> <br />     <asp:Button ID=”CreateRoleButton” runat=”server” Text=”Create Role” OnClick=”CreateRoleButton_Click” />    <asp:Button ID=”DeleteRoleButton” runat=”server” Text=”Delete Role” OnClick=”DeleteRoleButton_Click” /></asp:Content><asp:Content ID=”Content3″ ContentPlaceHolderID=”MainContent” runat=”server”></asp:Content> 

UserInformation.aspx.cs

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Security.Principal; // For WIndowsIdentiy using System.Web.Security; // For Membership namespace SampleApplicationCOP4834 {     public partial class UserInformation : System.Web.UI.Page     {         protected void Page_Load(object sender, EventArgs e)         {                          // Current Windows login             lblWLogin.Text = WindowsIdentity.GetCurrent().Name;             // Context Object             litContext.Text = “Name: ” + Context.User.Identity.Name  + “<br/>”;             litContext.Text += “AuthenticationType: ” + Context.User.Identity.AuthenticationType  + “<br/>”;             litContext.Text += “IsAuthenticated: ” + Context.User.Identity.IsAuthenticated.ToString() + “<br/>”;             litContext.Text += “IsInRole(TestRole): ” + Context.User.IsInRole(“TestRole”) + “<br/>”;             //Application Login (Membership)             if (Context.User.Identity.IsAuthenticated)             {                 MembershipUser user = Membership.GetUser();                 litMembership.Text = “UserName: ” + user.UserName + “<br/>”;                                 litMembership.Text = “ApplicationName: ” + Membership.ApplicationName + “<br/>”;                 litMembership.Text += “Comment: ” + user.Comment + “<br />”;                 litMembership.Text += “Creation Date: ” + user.CreationDate.ToString() + “<br />”;                 litMembership.Text += “Email: ” + user.Email + “<br />”;                 litMembership.Text += “IsApproved: ” + user.IsLockedOut.ToString() + “<br />”;                 litMembership.Text += “IsOnline: ” + user.IsOnline.ToString() + “<br />”;                 litMembership.Text += “LastActivityDate: ” + user.LastActivityDate.ToString() + “<br />”;                 litMembership.Text += “LastLoginDate: ” + user.LastLoginDate.ToString() + “<br />”;                 litMembership.Text += “LastPasswordChangeDate: ” + user.LastPasswordChangedDate.ToString() + “<br />”;                 litMembership.Text += “PasswordQuestion: ” + user.PasswordQuestion + “<br />”;                 litMembership.Text += “ProviderName: ” + user.ProviderName  + “<br />”;                 litMembership.Text += “ProviderUserKey: ” + user.ProviderUserKey +”<br />”;             }         }         protected void CreateRoleButton_Click(object sender, EventArgs e)         {             string newRoleName = RoleName.Text.Trim();             if (!Roles.RoleExists(newRoleName)) Roles.CreateRole(newRoleName);                          Roles.AddUserToRole(Membership.GetUser().UserName, newRoleName);                          RoleName.Text = String.Empty;             }         protected void DeleteRoleButton_Click(object sender, EventArgs e)         {             string roleName = RoleName.Text.Trim();             if (!Roles.RoleExists(roleName))             {                 Roles.RemoveUserFromRole(Membership.GetUser().UserName, roleName);                 Roles.DeleteRole(roleName);                 RoleName.Text = String.Empty;             }         }     }