c# - 添加新角色时可以设置角色描述吗

标签 c# asp.net roleprovider

添加角色时(使用asp.net的角色提供程序),我找不到添加角色(包括描述)的方法。

SQL 中的 asp.net 角色表提供了角色描述,但唯一可用的方法是:

Roles.CreateRole(string RoleName);

没有过多的内容来包含描述。

有没有一种开箱即用的方式来包含描述?或者我应该自己解决这个问题?

最佳答案

正如您现在可能发现的那样,没有直接的方法来获取描述。它之所以存在只是因为它是 BaseProvider 的成员。现在,创建自己的方法来添加对描述的支持是相当简单的。虽然您不能扩展 Roles 类,但您可以执行以下操作:

public static class RolesEx
{
  public static void CreateRole(string roleName, string description)  
  {  
    Roles.CreateRole(roleName);

    var c = new SqlConnection("connString");  
    var cmd = c.CreateCommand();
    cmd.CommandText =
      string.Format(
        "UPDATE aspnet_Roles SET Description = '{0}' WHERE ApplicationId = (SELECT ApplicationId FROM aspnet_Applications WHERE LoweredApplicationName = '{1}') AND  LoweredRoleName = '{2}'",
        description, Roles.ApplicationName.ToLower(), roleName.ToLower());
    cmd.CommandType = CommandType.Text;
    c.Open();
    var i = cmd.ExecuteNonQuery();
    c.Close();
  }
}

如果代码看起来很困惑,我深表歉意。这是我在这里发表的第一篇文章 o.O´

关于c# - 添加新角色时可以设置角色描述吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4086154/

相关文章:

C# 异步/等待未观察到的异常

c# - LINQ 按不同输出分组

c# - ASP.NET Identity UserManager IIdentityMessageService 将额外参数传递给 SendAsync

asp.net - 角色提供程序是否为每个请求缓存?

c# - 使用 session 自定义 RoleProvider

zend-framework2 - ZfcRbac 角色提供者和身份 getRoles()

c# - 如何从头开始实现异步 I/O 绑定(bind)操作?

c# - 当我们在 C# 中初始化一个字符串时会发生什么?

asp.net - 使用 OpenIDConnect 在 Azure AD 应用程序中回复 URL

c# - 在ASP.NET Web应用程序中记录错误