private AdRolesProviderData GetAdRolesProviderData() { RolesProviderData rolesProviderData = securityConfigurationView.GetRolesProviderData(ConfigurationName); ArgumentValidation.CheckExpectedType(rolesProviderData, typeof(AdRolesProviderData)); AdRolesProviderData adRolesProviderData = (AdRolesProviderData)rolesProviderData; ValidateConfigData(adRolesProviderData); return(adRolesProviderData); }
/// <summary> /// Overridden from SecurityRolesProvider. Retrieves the list of user roles /// from the underlying database. /// </summary> /// <param name="userIdentity">Identity of user used for retrieval</param> /// <returns>String array of roles for the given user identity</returns> protected override string[] CollectAllUserRoles(IIdentity userIdentity) { //Copy each role name into a string array DbRolesProviderData dbRolesProviderData = (DbRolesProviderData)securityConfigurationView.GetRolesProviderData(ConfigurationName); UserRoleManager manager = new UserRoleManager(dbRolesProviderData.Database, securityConfigurationView.ConfigurationContext); DataSet dsRoles = manager.GetUserRoles(userIdentity.Name); StringBuilder tmpRoles = new StringBuilder(); foreach (DataRow row in dsRoles.Tables[0].Rows) { tmpRoles.Append(row["RoleName"]); tmpRoles.Append(","); } return(tmpRoles.ToString().TrimEnd(',').Split(',')); }