private bool HasPermissions(IPrincipal user)
{
var principal = user as IApplicationPrincipal;
var isEmptyRightsList = this.accessRights == null || this.accessRights.Length == 0;
var hasPermissions = isEmptyRightsList
|| (principal != null && this.accessRights.Any(principal.HasPermission));
return hasPermissions;
}