protected virtual void ValidatePermissions() { PermissionAttributeBase attr = null; if (IsUpdate) { typeof(TRow).GetCustomAttribute <UpdatePermissionAttribute>(false); } else if (IsCreate) { typeof(TRow).GetCustomAttribute <InsertPermissionAttribute>(false); } attr = attr ?? typeof(TRow).GetCustomAttribute <ModifyPermissionAttribute>(false); if (attr != null) { if (attr.Permission.IsNullOrEmpty()) { Authorization.ValidateLoggedIn(); } else { Authorization.ValidatePermission(attr.Permission); } } }
protected virtual void ValidatePermissions() { PermissionAttributeBase attr = null; if (IsUpdate) { attr = typeof(TRow).GetCustomAttribute <UpdatePermissionAttribute>(false); } else if (IsCreate) { attr = typeof(TRow).GetCustomAttribute <InsertPermissionAttribute>(false); } attr = attr ?? typeof(TRow).GetCustomAttribute <ModifyPermissionAttribute>(false); if (attr != null) { Authorization.ValidatePermission(attr.Permission ?? "?"); } }
protected PageAuthorizeAttribute(Type sourceType, params Type[] attributeTypes) : this() { if (sourceType == null) { throw new ArgumentNullException("sourceType"); } if (attributeTypes.IsEmptyOrNull()) { throw new ArgumentNullException("attributeTypes"); } PermissionAttributeBase attr = null; foreach (var attributeType in attributeTypes) { var lst = sourceType.GetCustomAttributes(attributeType, true); if (lst.Length > 0) { attr = lst[0] as PermissionAttributeBase; if (attr == null) { throw new ArgumentOutOfRangeException(attributeType.Name + " is not a subclass of PermissionAttributeBase!"); } break; } } if (attr == null) { throw new ArgumentOutOfRangeException("sourceType", "PageAuthorize attribute is created with source type of " + sourceType.Name + ", but it has no " + string.Join(" OR ", attributeTypes.Select(x => x.Name)) + " attribute(s)"); } this.Permission = attr.Permission; }
protected virtual void ValidatePermissions() { PermissionAttributeBase attr = null; if (IsUpdate) { attr = typeof(TRow).GetCustomAttribute <UpdatePermissionAttribute>(true); } else if (IsCreate) { attr = typeof(TRow).GetCustomAttribute <InsertPermissionAttribute>(true); } attr ??= (PermissionAttributeBase)typeof(TRow).GetCustomAttribute <ModifyPermissionAttribute>(true) ?? typeof(TRow).GetCustomAttribute <ReadPermissionAttribute>(true); if (attr != null) { Permissions.ValidatePermission(attr.Permission ?? "?", Localizer); } }