Hi,
This is how we getting it...hope it helps.
The code basically populates a dropdown box with users for a specific role...
public void GetUserRoleDropDownList(string k2Connectionstring, string role, ref DropDownList ddlReasignUser)
{
if (k2Connectionstring != "" && role != "")
{
XmlDocument doc;
XmlElement root;
SourceCode.Security.UserRoleManager.Management.UserRoleManager sm = new SourceCode.Security.UserRoleManager.Management.UserRoleManager();
sm.CreateConnection();
sm.Connection.Open(k2Connectionstring);
SourceCode.Security.UserRoleManager.Management.Role[] RoleList = sm.GetRoles(role);
foreach (SourceCode.Security.UserRoleManager.Management.Role Role in RoleList)
{
doc = new XmlDocument();
doc.LoadXml(Role.GetData());
XmlElement root = doc.DocumentElement;
XmlNodeList nodes = root.SelectNodes("/role/include/users"); // You can filter elements
foreach (XmlNode node in nodes)
{
XmlNodeList innerNodes = node.SelectNodes("user");
foreach (XmlNode innerNode in innerNodes)
{
string userName = innerNode.Attributes[0].Value;
//Remove(0,3) needed for K2: security label trimming.
ddlReasignUser.Items.Add(userName.Remove(0, 3));
}
}
}
}