Taylohtio/CKS.FormsBasedAuthentication/Layouts/FBA/MANAGEMENT/RoleDelete.aspx.cs

62 lines
2.0 KiB
C#

using System;
using Microsoft.SharePoint.WebControls;
using System.Web.Security;
using System.Web.UI.WebControls;
using Microsoft.SharePoint.Utilities;
using System.Web;
namespace CKS.FormsBasedAuthentication
{
/// <summary>
/// Code behind for RoleDelete.aspx
/// </summary>
public partial class RoleDelete : LayoutsPageBase
{
protected override bool RequireSiteAdministrator
{
get { return true; }
}
protected override void OnLoad(EventArgs e)
{
this.CheckRights();
// display role being deleted and number of users in that role
txtRole.Text = Request.QueryString["ROLE"];
lblMessage.Text = string.Format(localizedMsg.Text, Utils.BaseRoleProvider().GetUsersInRole(txtRole.Text).Length);
}
protected void OnDelete(object sender, EventArgs e)
{
// get role and users
string[] roleName = new string[1];
roleName[0] = Request.QueryString["ROLE"];
string[] usersInRole = Utils.BaseRoleProvider().GetUsersInRole(roleName[0]);
if (Utils.BaseRoleProvider().RoleExists(roleName[0]))
{
try
{
// remove all users from role if needed
if (usersInRole.Length > 0)
{
Utils.BaseRoleProvider().RemoveUsersFromRoles(usersInRole, roleName);
}
// delete role
Utils.BaseRoleProvider().DeleteRole(roleName[0],false);
SPUtility.Redirect("FBA/Management/RolesDisp.aspx", SPRedirectFlags.RelativeToLayoutsPage | SPRedirectFlags.UseSource, this.Context);
}
catch (Exception ex)
{
Utils.LogError(ex, true);
}
}
else
{
lblMessage.Text = notExistMsg.Text;
}
}
}
}