Role assigning events

Roles determine which parts of Sitefinity CMS a user can view. When a website administrator assigns or modifies the roles assigned to a user, a number of role assigning events are fired. You can subscribe to any of the role assigning events listed below.

For more information about managing roles, see Overview: Roles.

RoleAssignEventBase

This is the base class for events that notifies for changes in roles assigned to users.

In the event handler, you can access the following information:

  • ID of the role
  • Name of the role
  • Name of the role provider
  • ID of the user
  • Name of the user provider
C#
using System;
using Telerik.Sitefinity.Abstractions;
using Telerik.Sitefinity.Security.Events;
using Telerik.Sitefinity.Services;

namespace SitefinityWebApp
{
   public class Global : System.Web.HttpApplication
   {
       protected void Application_Start(object sender, EventArgs e)
       {
           Bootstrapper.Bootstrapped += Bootstrapper_Bootstrapped;
       }

       private void Bootstrapper_Bootstrapped(object sender, EventArgs e)
       {
           EventHub.Subscribe<RoleAssignEventBase>(evt => RoleAssignEventHandler(evt));
       }

       public void RoleAssignEventHandler(RoleAssignEventBase eventInfo)
       {
           var roleId = eventInfo.RoleId;
           var roleName = eventInfo.RoleName;
           var roleProviderName = eventInfo.RoleProviderName;
           var userId = eventInfo.UserId;
           var membershipProviderName = eventInfo.MembershipProviderName;
       }

   }
}

RoleAssigning

This event fires when a role is being assigned to a user, that is, it is pending approval.

Your event handler looks like this:

C#
using System;
using Telerik.Sitefinity.Abstractions;
using Telerik.Sitefinity.Security.Events;
using Telerik.Sitefinity.Services;

namespace SitefinityWebApp
{
   public class Global : System.Web.HttpApplication
   {
       protected void Application_Start(object sender, EventArgs e)
       {
           Bootstrapper.Bootstrapped += Bootstrapper_Bootstrapped;
       }

       private void Bootstrapper_Bootstrapped(object sender, EventArgs e)
       {
           EventHub.Subscribe<RoleAssigning>(evt => RoleAssigningEventHandler(evt));
       }

       public void RoleAssigningEventHandler(RoleAssigning eventInfo)
       {
           // your logic
       }
   }
}

RoleAssigned

This event fires when a profile is already assigned to a user.

Your event handler looks like this:

C#
using System;
using Telerik.Sitefinity.Abstractions;
using Telerik.Sitefinity.Security.Events;
using Telerik.Sitefinity.Services;

namespace SitefinityWebApp
{
   public class Global : System.Web.HttpApplication
   {
       protected void Application_Start(object sender, EventArgs e)
       {
           Bootstrapper.Bootstrapped += Bootstrapper_Bootstrapped;
       }

       private void Bootstrapper_Bootstrapped(object sender, EventArgs e)
       {
           EventHub.Subscribe<RoleAssigned>(evt => RoleAssignedEventHandler(evt));
       }

       public void RoleAssignedEventHandler(RoleAssigned eventInfo)
       {
           // your logic
       }
   }
}

RoleUnassigning

This event fires when a role is being unassigned from a user.

Your event handler looks like this:

C#
using System;
using Telerik.Sitefinity.Abstractions;
using Telerik.Sitefinity.Security.Events;
using Telerik.Sitefinity.Services;

namespace SitefinityWebApp
{
   public class Global : System.Web.HttpApplication
   {
       protected void Application_Start(object sender, EventArgs e)
       {
           Bootstrapper.Bootstrapped += Bootstrapper_Bootstrapped;
       }

       private void Bootstrapper_Bootstrapped(object sender, EventArgs e)
       {
           EventHub.Subscribe<RoleUnassigning>(evt => RoleUnassigningEventHandler(evt));
       }

       public void RoleUnassigningEventHandler(RoleUnassigning eventInfo)
       {
           // your logic
       }
   }
}

RoleUnassigned

This event fires when a role is already unassigned from a user.

Your event handler looks like this:

C#
using System;
using Telerik.Sitefinity.Abstractions;
using Telerik.Sitefinity.Security.Events;
using Telerik.Sitefinity.Services;

namespace SitefinityWebApp
{
   public class Global : System.Web.HttpApplication
   {
       protected void Application_Start(object sender, EventArgs e)
       {
           Bootstrapper.Bootstrapped += Bootstrapper_Bootstrapped;
       }

       private void Bootstrapper_Bootstrapped(object sender, EventArgs e)
       {
           EventHub.Subscribe<RoleUnassigned>(evt => RoleUnassignedEventHandler(evt));
       }

       public void RoleUnassignedEventHandler(RoleUnassigned eventInfo)
       {
           // your logic
       }
   }
}
Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.