asp.net/ /, , .
, , , System.Web.Security.RoleProvider, , , :
- FindUsersInRole
- GetRolesForUser
- GetUsersInRole
- IsUserInRole
, :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
public class MyCustomRoleProvider : RoleProvider
{
public override string[] FindUsersInRole(string roleName, string usernameToMatch)
{
}
public override string[] GetRolesForUser(string username)
{
}
public override string[] GetUsersInRole(string roleName)
{
}
public override bool IsUserInRole(string username, string roleName)
{
return GetUsersInRole(roleName).Contains(username);
}
}
. Visual Studio , GetAllRoles throws new NotImplementedException(), "" , , " ", - , .
roleManager web.config system.web :
<roleManager defaultProvider="NameOfYourRoleProvider" enabled="true">
<providers>
<clear />
<add name="NameOfYourRoleProvider" type="Namespace.To.Your.Class.And.Class.Name, Name.Of.Assembly.Containing.Your.RoleProvider" />
</providers>
</roleManager>
, RoleProvider asp.net, , HttpContext.Current.Session ( , HttpContext.Current isn ' t null ), using System.Web;.