public string GetItemSecurityString(string sPath) { System.Text.StringBuilder builder = new System.Text.StringBuilder(); using (new Sitecore.SecurityModel.SecurityDisabler()) { Sitecore.Data.Items.Item item = GetItemFromMasterdatabase(sPath); for (int i = 0; i < item.SecurityField.Assignments.Count; i++) { Sitecore.SecurityModel.SecurityAssignment securityAssignment = item.SecurityField.Assignments[i]; builder.Append("Domain: " + securityAssignment.DomainName); builder.Append(", group: " + securityAssignment.EntityID.ToString()); Sitecore.Data.Items.Item groupItem = GetItemFromSecuritydatabase(securityAssignment.EntityID.ToString()); if (groupItem != null) { builder.Append("(" + securityAssignment.DomainKey + " - " + groupItem.Name + " - " + groupItem.Paths.ContentPath + ")"); } builder.Append("\n"); Sitecore.SecurityModel.ItemRights rights = securityAssignment.Rights; builder.Append(" - " + rights.ToString()); builder.Append("\n"); } } return(builder.ToString()); }
public RoleStruct[] GetItemSecurity(string sPath) { List <RoleStruct> roles5x = new List <RoleStruct>(); using (new Sitecore.SecurityModel.SecurityDisabler()) { Sitecore.Data.Items.Item item = GetItemFromMasterdatabase(sPath); for (int i = 0; i < item.SecurityField.Assignments.Count; i++) { Sitecore.SecurityModel.SecurityAssignment securityAssignment = item.SecurityField.Assignments[i]; Sitecore.Data.Items.Item groupItem = GetItemFromSecuritydatabase(securityAssignment.EntityID.ToString()); if (groupItem == null) { continue; } AccessRights AccessRight = GetConverterAccessRights(securityAssignment.Rights); RoleStruct role = new RoleStruct(); role.Name = securityAssignment.DomainName + "\\" + groupItem.Name; role.ID = securityAssignment.EntityID.ToString(); role.Path = groupItem.Paths.ContentPath; role.AccessRight = AccessRight; if (groupItem.Fields["email"] != null) { role.Email = groupItem.Fields["email"].Value; } if (groupItem.Fields["fullname"] != null) { role.FullName = groupItem.Fields["fullname"].Value; } if (groupItem.Fields["password"] != null) { role.PassWord = groupItem.Fields["password"].Value; } if ((groupItem.Fields["administrator"] != null) && (groupItem.Fields["administrator"].Value == "1")) { role.IsAdmin = true; } else { role.IsAdmin = false; } if (groupItem.Fields["roles"] != null) { role.Roles = ""; foreach (string sID in groupItem.Fields["roles"].Value.Split('|')) { Sitecore.Data.Items.Item roleItem = GetItemFromSecuritydatabase(sID); if (roleItem != null) { if (role.Roles != "") { role.Roles += "|"; } role.Roles += securityAssignment.DomainName + "\\" + roleItem.Name; } } // role.Roles = groupItem.Fields["roles"].Value; } roles5x.Add(role); } } return(roles5x.ToArray()); }