Esempio n. 1
0
        /// <summary>
        /// Authorize permission
        /// </summary>
        /// <param name="permission">Permission record</param>
        /// <param name="customer">Customer</param>
        /// <returns>true - authorized; otherwise, false</returns>
        public virtual bool Authorize(PermissionRecord permission, Employee employee)
        {
            if (permission == null)
                return false;

            if (employee == null)
                return false;

            return Authorize(permission.SystemName, employee);
        }
Esempio n. 2
0
 /// <summary>
 /// Authorize permission
 /// </summary>
 /// <param name="permission">Permission record</param>
 /// <returns>true - authorized; otherwise, false</returns>
 public virtual bool Authorize(PermissionRecord permission)
 {
     return Authorize(permission, _workContext.CurrentEmployee);
 }
Esempio n. 3
0
        /// <summary>
        /// Updates the permission
        /// </summary>
        /// <param name="permission">Permission</param>
        public virtual void UpdatePermissionRecord(PermissionRecord permission)
        {
            if (permission == null)
                throw new ArgumentNullException("permission");

            _permissionPecordRepository.Update(permission);

            //   _cacheManager.RemoveByPattern(PERMISSIONS_PATTERN_KEY);
        }
Esempio n. 4
0
 public virtual bool Authorize(PermissionRecord permission, EmployeeRole employeeRole)
 {
     return Authorize(permission.SystemName, employeeRole);
 }
Esempio n. 5
0
        /// <summary>
        /// Install permissions
        /// </summary>
        /// <param name="permissionProvider">Permission provider</param>
        public virtual void InstallPermissions(IPermissionProvider permissionProvider)
        {
            //install new permissions
            var permissions = permissionProvider.GetPermissions();
            foreach (var permission in permissions)
            {
                var permission1 = GetPermissionRecordBySystemName(permission.SystemName);
                if (permission1 == null)
                {
                    //new permission (install it)
                    permission1 = new PermissionRecord
                                      {
                                          Name = permission.Name,
                                          SystemName = permission.SystemName,
                                          Category = permission.Category,
                                      };

                    //default customer role mappings
                    var defaultPermissions = permissionProvider.GetDefaultPermissions();
                    foreach (var defaultPermission in defaultPermissions)
                    {
                        //var employeeRole = _customerService.GetCustomerRoleBySystemName(defaultPermission.CustomerRoleSystemName);
                        /* if (employeeRole == null)
                         {
                             //new role (save it)
                             employeeRole = new CustomerRole()
                             {
                                 Name = defaultPermission.CustomerRoleSystemName,
                                 Active = true,
                                 SystemName = defaultPermission.CustomerRoleSystemName
                             };
                             _customerService.InsertCustomerRole(employeeRole);
                         }

                         var defaultMappingProvided = (from p in defaultPermission.PermissionRecords
                                                       where p.SystemName == permission1.SystemName
                                                       select p).Any();
                         var mappingExists = (from p in employeeRole.PermissionRecords
                                              where p.SystemName == permission1.SystemName
                                              select p).Any();
                         if (defaultMappingProvided && !mappingExists)
                         {
                             permission1.CustomerRoles.Add(employeeRole);
                         }*/
                    }

                    //save new permission
                    InsertPermissionRecord(permission1);
                }
            }
        }