This is pretty easy and well documented, but I thought I would add it in anyway as I have added the user and role code. This will give you a full picture. You can add a domain that is administered locally. This means that you can have users that belong to a specific domain and can view and edit users in that domain only. This is particularly useful when you are dealing with lots of microsites.
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sitecore.Configuration;
using Sitecore.Security.Domains;
namespace Client.Project.Security
{
/// <summary>
/// This class will be responsible for:
/// 1. Adding new domains
/// 3. Deleting domains
/// </summary>
public class DomainMaintenance
{
public void AddDomain(string domain)
{
try
{
if (Sitecore.SecurityModel.DomainManager.GetDomain(domain) == null)
{
Sitecore.Context.User.RuntimeSettings.IsAdministrator = true;
Sitecore.SecurityModel.DomainManager.AddDomain(domain, true);
Sitecore.Context.User.RuntimeSettings.IsAdministrator = false;
}
}
catch (Exception ex)
{
Sitecore.Diagnostics.Log.Error(string.Format("Error in Client.Project.Security.DomainMaintenance (AddDomain): Message: {0}; Source:{1}", ex.Message, ex.Source), this);
}
}
public void DeleteDomain(string domain)
{
try
{
if (Sitecore.SecurityModel.DomainManager.GetDomain(domain) != null)
{
Sitecore.Context.User.RuntimeSettings.IsAdministrator = true;
Sitecore.SecurityModel.DomainManager.RemoveDomain(domain);
Sitecore.Context.User.RuntimeSettings.IsAdministrator = false;
}
}
catch (Exception ex)
{
Sitecore.Diagnostics.Log.Error(string.Format("Error in Client.Project.Security.DomainMaintenance (DeleteDomain): Message: {0}; Source:{1}", ex.Message, ex.Source), this);
}
}
}
}
No comments:
Post a Comment