Dev2.Security.ClientAuthorizationService.GetGroupPermissions C# (CSharp) Method

GetGroupPermissions() protected method

protected GetGroupPermissions ( IPrincipal principal, string resource ) : IEnumerable
principal IPrincipal
resource string
return IEnumerable
        protected override IEnumerable<WindowsGroupPermission> GetGroupPermissions(IPrincipal principal, string resource)
        {
            var serverPermissions = _securityService.Permissions;
            var serverOnlyPermissions = serverPermissions.Where(permission => permission.IsServer || permission.ResourceID==Guid.Empty);

            Guid resourceId;
            if (Guid.TryParse(resource, out resourceId))
            {
                if (resourceId == Guid.Empty)
                {
                    return serverOnlyPermissions;
                }
                var resourcePermissions = serverPermissions.Where(p => p.Matches(resource) && !p.IsServer).ToList();
                if (resourcePermissions.Any())
                {
                    return resourcePermissions;
                }
            }
            return serverOnlyPermissions;
        }