Roles.FindUsersInRole这个有两个参数  Roles.FindUsersInRole("purchasing", "like *"); 不知道第二个参数,如何写,能罗列出这个角色下的所有成员?

解决方案 »

  1.   


                 string [] users = Roles.GetUsersInRole ( "RoleName" );
                foreach ( string user in users ) {
                    Console.WriteLine ( user );
                }
      

  2.   

    FindUsersInRole是按如下方式实现的,至于用法,看了他的实现,应该没什么难度吧,
    补充:二楼正解:
    public override string[] FindUsersInRole(string rolename, string usernameToMatch)
    {
      OdbcConnection conn = new OdbcConnection(connectionString);
      OdbcCommand cmd = new OdbcCommand("SELECT Username FROM UsersInRoles  " +
                                        " WHERE Username LIKE ? AND RoleName = ? AND ApplicationName = ?", conn);
      cmd.Parameters.Add("@UsernameSearch", OdbcType.VarChar, 255).Value = usernameToMatch;
      cmd.Parameters.Add("@RoleName", OdbcType.VarChar, 255).Value = rolename;
      cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = pApplicationName;  string tmpUserNames = "";
      OdbcDataReader reader = null;  try
      { 
        conn.Open();    reader = cmd.ExecuteReader();    while (reader.Read())
        {
          tmpUserNames += reader.GetString(0) + ",";
        }
      }
      catch (OdbcException)
      {
        // Handle Exception.
      }
      finally
      {
        if (reader != null) { reader.Close(); }    conn.Close();
      }  if (tmpUserNames.Length > 0)
      {
        // Remove trailing comma.
        tmpUserNames = tmpUserNames.Substring(0, tmpUserNames.Length - 1);
        return tmpUserNames.Split(',');
      }  return null;
    }