/// <summary>Find out if a principal has a certain permission by default.</summary>
 /// <param name="user">The principal to check for allowance.</param>
 /// <param name="permission">The type of permission to map against.</param>
 /// <returns>True if the system is configured to allow the user to the given permission.</returns>
 public virtual bool IsAuthorized(IPrincipal user, Permission permission)
 {
     return((Administrators.MapsTo(permission) && Administrators.Contains(user)) ||
            (Editors.MapsTo(permission) && Editors.Contains(user)) ||
            (Writers.MapsTo(permission) && Writers.Contains(user)));
 }