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; } } } |