Esempio n. 1
0
        public static AccessType GetAccess(
            this IAccessRecord record,
            IAuthorizer authorizer,
            SmartWalkUserRecord user)
        {
            if (record == null)
            {
                return(AccessType.AllowView);
            }

            var allowEdit =
                user != null &&
                (authorizer.Authorize(Permissions.EditAllContent) ||
                 (record.SmartWalkUserRecord != null &&
                  record.SmartWalkUserRecord.Id == user.Id &&
                  authorizer.Authorize(Permissions.EditOwnContent)));

            var result =
                allowEdit
                    ? AccessType.AllowEdit
                    : (authorizer.Authorize(Permissions.ViewAllContent)
                           ? AccessType.AllowView
                           : AccessType.Deny);

            return(result);
        }
Esempio n. 2
0
 public void ChangedAccess(Guid id, IAccessRecord accessRecord)
 {
     try
     {
         var builder = _modifer.EditById(id);
         builder.SetAccessRights(accessRecord.OrgUnitId, accessRecord.Access.AccessLevel, accessRecord.Access.ValidThrough, accessRecord.Access.IsInheritable);
         _modifer.Apply();
     }
     catch { }
 }
Esempio n. 3
0
        public AccessWrapper(IAccessRecord accessRecord)
        {
            if (accessRecord == null)
            {
                return;
            }

            AccessLevel   = accessRecord.Access.AccessLevel;
            ValidThrough  = accessRecord.Access.ValidThrough;
            IsInheritable = accessRecord.Access.IsInheritable;
            IsInherited   = accessRecord.Access.IsInherited;
        }
Esempio n. 4
0
        public IAccessRecord GetAccessRecord(IAccessRecord accessRecord, AccessLevel access)
        {
            var _accessRecord = new AccessRecord();

            _accessRecord.InheritanceSource = accessRecord.InheritanceSource;
            _accessRecord.OrgUnitId         = accessRecord.OrgUnitId;
            _accessRecord.RecordOwner       = accessRecord.RecordOwner;

            _accessRecord.Access = new Access()
            {
                AccessLevel = access, IsInheritable = false
            };

            return(_accessRecord);
        }