public class SPUserPermission : IPermission
{
private string _role;
public SPUserPermission()
{
}
public SPUserPermission(string role)
{
_role = role;
}
#region IPermission Members
public void Demand()
{
bool success = false;
SPUtility.EnsureAuthentication();
SPUser spUser = SPContext.Current.Web.CurrentUser;
if (spUser != null)
{
foreach (SPGroup spGroup in spUser.Groups)
{
if (spGroup.Name.ToLower() == _role.ToLower())
{
success = true;
break;
}
}
}
if (!success)
{
SPUtility.HandleAccessDenied(new UnauthorizedAccessException());
}
}
#region un-implemented members
public IPermission Copy()
{
throw new NotImplementedException();
}
public IPermission Intersect(IPermission target)
{
throw new NotImplementedException();
}
public bool IsSubsetOf(IPermission target)
{
throw new NotImplementedException();
}
public IPermission Union(IPermission target)
{
throw new NotImplementedException();
}
#endregion
#region ISecurityEncodable Members
public void FromXml(SecurityElement e)
{
throw new NotImplementedException();
}
public SecurityElement ToXml()
{
throw new NotImplementedException();
}
#endregion
#endregion
}