diff --git a/src/Orchard.Web/Packages/Orchard.Pages/Security/Authorization.cs b/src/Orchard.Web/Packages/Orchard.Pages/Security/Authorization.cs index ed7f068b6..8451460c4 100644 --- a/src/Orchard.Web/Packages/Orchard.Pages/Security/Authorization.cs +++ b/src/Orchard.Web/Packages/Orchard.Pages/Security/Authorization.cs @@ -46,51 +46,3 @@ namespace Orchard.Pages.Security { } } -using JetBrains.Annotations; -using Orchard.ContentManagement; -using Orchard.ContentManagement.Aspects; -using Orchard.Pages.Models; -using Orchard.Security; -using Orchard.Security.Permissions; - -namespace Orchard.Pages.Security { - [UsedImplicitly] - public class Authorization : AuthorizationServiceEvents { - public override void Adjust(CheckAccessContext context) { - if (context.Granted == false && - context.Content.Is() && - HasOwnerVariation(context.Permission) && - HasOwnership(context.User, context.Content)) { - - context.Adjusted = true; - context.Permission = GetOwnerVariation(context.Permission); - } - } - - private static bool HasOwnership(IUser user, IContent content) { - if (user==null || content==null) - return false; - - var common = content.As(); - if (common==null || common.Owner==null) - return false; - - return user.Id == common.Owner.Id; - } - - private static bool HasOwnerVariation(Permission permission) { - return GetOwnerVariation(permission) != null; - } - - private static Permission GetOwnerVariation(Permission permission) { - if (permission.Name == Permissions.PublishOthersPages.Name) - return Permissions.PublishPages; - if (permission.Name == Permissions.EditOthersPages.Name) - return Permissions.EditPages; - if (permission.Name == Permissions.DeleteOthersPages.Name) - return Permissions.DeletePages; - return null; - } - - } -} diff --git a/src/Orchard/Security/IAuthorizationServiceEvents.cs b/src/Orchard/Security/IAuthorizationServiceEvents.cs index 5bdcde136..472ac325d 100644 --- a/src/Orchard/Security/IAuthorizationServiceEvents.cs +++ b/src/Orchard/Security/IAuthorizationServiceEvents.cs @@ -23,28 +23,3 @@ namespace Orchard.Security { public virtual void Complete(CheckAccessContext context) { } } } -using System; -using Orchard.ContentManagement; -using Orchard.Security.Permissions; - -namespace Orchard.Security { - public interface IAuthorizationServiceEvents : IEvents { - void Checking(CheckAccessContext context); - void Adjust(CheckAccessContext context); - void Complete(CheckAccessContext context); - } - - public class CheckAccessContext { - public Permission Permission { get; set; } - public IUser User { get; set; } - public IContent Content { get; set; } - public bool Granted { get; set; } - public bool Adjusted { get; set; } - } - - public abstract class AuthorizationServiceEvents : IAuthorizationServiceEvents { - public virtual void Checking(CheckAccessContext context) { } - public virtual void Adjust(CheckAccessContext context) { } - public virtual void Complete(CheckAccessContext context) { } - } -}