Browse Source

Created IAuthorizationEnabled and IValidationEnabled interfaces.

pull/272/head
Halil İbrahim Kalkan 9 years ago
parent
commit
e689561936
  1. 5
      src/Volo.Abp.Authorization/Volo/Abp/Authorization/AbpAuthorizationModule.cs
  2. 15
      src/Volo.Abp.Authorization/Volo/Abp/Authorization/AuthorizationInterceptorRegistrar.cs
  3. 7
      src/Volo.Abp.Authorization/Volo/Abp/Authorization/IAuthorizationEnabled.cs
  4. 6
      src/Volo.Abp.Ddd/Volo/Abp/AbpDddModule.cs
  5. 17
      src/Volo.Abp.Ddd/Volo/Abp/Application/Services/AuthorizationInterceptorRegistrar.cs
  6. 6
      src/Volo.Abp.Ddd/Volo/Abp/Application/Services/IApplicationService.cs
  7. 17
      src/Volo.Abp.Ddd/Volo/Abp/Application/Services/ValidationInterceptorRegistrar.cs
  8. 5
      src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs
  9. 7
      src/Volo.Abp.Validation/Volo/Abp/Validation/IValidationEnabled.cs
  10. 16
      src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationInterceptorRegistrar.cs

5
src/Volo.Abp.Authorization/Volo/Abp/Authorization/AbpAuthorizationModule.cs

@ -9,6 +9,11 @@ namespace Volo.Abp.Authorization
[DependsOn(typeof(AbpSecurityModule))]
public class AbpAuthorizationModule : AbpModule
{
public override void PreConfigureServices(IServiceCollection services)
{
services.OnRegistred(AuthorizationInterceptorRegistrar.RegisterIfNeeded);
}
public override void ConfigureServices(IServiceCollection services)
{
services.AddAuthorization();

15
src/Volo.Abp.Authorization/Volo/Abp/Authorization/AuthorizationInterceptorRegistrar.cs

@ -0,0 +1,15 @@
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Authorization
{
public static class AuthorizationInterceptorRegistrar
{
public static void RegisterIfNeeded(IOnServiceRegistredContext context)
{
if (typeof(IAuthorizationEnabled).IsAssignableFrom(context.ImplementationType))
{
context.Interceptors.TryAdd<AuthorizationInterceptor>();
}
}
}
}

7
src/Volo.Abp.Authorization/Volo/Abp/Authorization/IAuthorizationEnabled.cs

@ -0,0 +1,7 @@
namespace Volo.Abp.Authorization
{
public interface IAuthorizationEnabled
{
}
}

6
src/Volo.Abp.Ddd/Volo/Abp/AbpDddModule.cs

@ -31,12 +31,6 @@ namespace Volo.Abp
[DependsOn(typeof(AbpHttpAbstractionsModule))]
public class AbpDddModule : AbpModule
{
public override void PreConfigureServices(IServiceCollection services)
{
services.OnRegistred(ValidationInterceptorRegistrar.RegisterIfNeeded);
services.OnRegistred(AuthorizationInterceptorRegistrar.RegisterIfNeeded);
}
public override void ConfigureServices(IServiceCollection services)
{
services.Configure<ApiDescriptionModelOptions>(options =>

17
src/Volo.Abp.Ddd/Volo/Abp/Application/Services/AuthorizationInterceptorRegistrar.cs

@ -1,17 +0,0 @@
using Volo.Abp.Authorization;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Application.Services
{
public static class AuthorizationInterceptorRegistrar
{
public static void RegisterIfNeeded(IOnServiceRegistredContext context)
{
//TODO Create IAuthorizationEnabled interface and inherit IApplicationService from it!
if (typeof(IApplicationService).IsAssignableFrom(context.ImplementationType))
{
context.Interceptors.TryAdd<AuthorizationInterceptor>();
}
}
}
}

6
src/Volo.Abp.Ddd/Volo/Abp/Application/Services/IApplicationService.cs

@ -1,4 +1,6 @@
using Volo.Abp.DependencyInjection;
using Volo.Abp.Authorization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.DependencyInjection;
using Volo.Abp.Uow;
namespace Volo.Abp.Application.Services
@ -6,7 +8,7 @@ namespace Volo.Abp.Application.Services
/// <summary>
/// This interface must be implemented by all application services to register and identify them by convention.
/// </summary>
public interface IApplicationService : ITransientDependency, IRemoteService, IUnitOfWorkEnabled
public interface IApplicationService : ITransientDependency, IRemoteService, IUnitOfWorkEnabled, IValidationEnabled, IAuthorizationEnabled
{
}

17
src/Volo.Abp.Ddd/Volo/Abp/Application/Services/ValidationInterceptorRegistrar.cs

@ -1,17 +0,0 @@
using Volo.Abp.DependencyInjection;
using Volo.Abp.Validation;
namespace Volo.Abp.Application.Services
{
public static class ValidationInterceptorRegistrar
{
public static void RegisterIfNeeded(IOnServiceRegistredContext context)
{
//TODO Create IValidationEnabled interface and inherit IApplicationService from it!
if (typeof(IApplicationService).IsAssignableFrom(context.ImplementationType))
{
context.Interceptors.TryAdd<ValidationInterceptor>();
}
}
}
}

5
src/Volo.Abp.Validation/Volo/Abp/Validation/AbpValidationModule.cs

@ -5,6 +5,11 @@ namespace Volo.Abp.Validation
{
public class AbpValidationModule : AbpModule
{
public override void PreConfigureServices(IServiceCollection services)
{
services.OnRegistred(ValidationInterceptorRegistrar.RegisterIfNeeded);
}
public override void ConfigureServices(IServiceCollection services)
{
services.AddAssemblyOf<AbpValidationModule>();

7
src/Volo.Abp.Validation/Volo/Abp/Validation/IValidationEnabled.cs

@ -0,0 +1,7 @@
namespace Volo.Abp.Application.Services
{
public interface IValidationEnabled
{
}
}

16
src/Volo.Abp.Validation/Volo/Abp/Validation/ValidationInterceptorRegistrar.cs

@ -0,0 +1,16 @@
using Volo.Abp.Application.Services;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Validation
{
public static class ValidationInterceptorRegistrar
{
public static void RegisterIfNeeded(IOnServiceRegistredContext context)
{
if (typeof(IValidationEnabled).IsAssignableFrom(context.ImplementationType))
{
context.Interceptors.TryAdd<ValidationInterceptor>();
}
}
}
}
Loading…
Cancel
Save