├── .gitignore ├── LICENSE ├── MediatR.Behaviors.Authorization.sln ├── MediatR.Behaviors.Authorization ├── Behaviors │ └── RequestAuthorizationBehavior.cs ├── Configuration │ ├── AuthorizationPipelineHandlerOptions.cs │ └── DefaultUnauthorizedHandlerStrategy.cs ├── Exceptions │ └── UnauthorizedException.cs ├── Extensions │ └── DependencyInjection │ │ ├── AddAuthorizersFromAssemblyExtension.cs │ │ └── AddMediatorAuthorizationExtension.cs ├── Interfaces │ ├── IAuthorizationHandler.cs │ ├── IAuthorizationRequirement.cs │ ├── IAuthorizer.cs │ └── IUnauthorizedResultHandler.cs ├── MediatR.Behaviors.Authorization.csproj └── Models │ ├── AbstractRequestAuthorizer.cs │ └── AuthorizationResult.cs ├── README.md ├── examples └── GlobalAuthorizerExample │ ├── Common │ ├── Authorization │ │ ├── GlobalAuthorizer.cs │ │ └── MustBeAuthenticatedRequirement.cs │ └── Services │ │ └── CurrentUserService.cs │ ├── Features │ └── GetCourseVideoDetails │ │ ├── Handler.cs │ │ ├── Request.cs │ │ └── Response.cs │ ├── GlobalAuthorizerExample.csproj │ └── Program.cs └── tests └── MediatR.Behaviors.Authorization.Tests ├── Behaviors └── RequestAuthorizationBehaviorTests.cs ├── Exceptions └── UnauthorizedExceptionTests.cs ├── Extensions └── DependencyInjection │ ├── AddAuthorizersFromAssemblyExtensionTests.cs │ └── AddMediatorAuthorizationExtensionTests.cs ├── Interfaces └── AuthorizationHandlerTests.cs ├── MediatR.Behaviors.Authorization.Tests.csproj └── Models ├── AbstractRequestAuthorizerTests.cs └── AuthorizationResultTests.cs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/LICENSE -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization.sln: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization.sln -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Behaviors/RequestAuthorizationBehavior.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Behaviors/RequestAuthorizationBehavior.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Configuration/AuthorizationPipelineHandlerOptions.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Configuration/AuthorizationPipelineHandlerOptions.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Configuration/DefaultUnauthorizedHandlerStrategy.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Configuration/DefaultUnauthorizedHandlerStrategy.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Exceptions/UnauthorizedException.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Exceptions/UnauthorizedException.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Extensions/DependencyInjection/AddAuthorizersFromAssemblyExtension.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Extensions/DependencyInjection/AddAuthorizersFromAssemblyExtension.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Extensions/DependencyInjection/AddMediatorAuthorizationExtension.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Extensions/DependencyInjection/AddMediatorAuthorizationExtension.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Interfaces/IAuthorizationHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Interfaces/IAuthorizationHandler.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Interfaces/IAuthorizationRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Interfaces/IAuthorizationRequirement.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Interfaces/IAuthorizer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Interfaces/IAuthorizer.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Interfaces/IUnauthorizedResultHandler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Interfaces/IUnauthorizedResultHandler.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/MediatR.Behaviors.Authorization.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/MediatR.Behaviors.Authorization.csproj -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Models/AbstractRequestAuthorizer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Models/AbstractRequestAuthorizer.cs -------------------------------------------------------------------------------- /MediatR.Behaviors.Authorization/Models/AuthorizationResult.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/MediatR.Behaviors.Authorization/Models/AuthorizationResult.cs -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/README.md -------------------------------------------------------------------------------- /examples/GlobalAuthorizerExample/Common/Authorization/GlobalAuthorizer.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/examples/GlobalAuthorizerExample/Common/Authorization/GlobalAuthorizer.cs -------------------------------------------------------------------------------- /examples/GlobalAuthorizerExample/Common/Authorization/MustBeAuthenticatedRequirement.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/examples/GlobalAuthorizerExample/Common/Authorization/MustBeAuthenticatedRequirement.cs -------------------------------------------------------------------------------- /examples/GlobalAuthorizerExample/Common/Services/CurrentUserService.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/examples/GlobalAuthorizerExample/Common/Services/CurrentUserService.cs -------------------------------------------------------------------------------- /examples/GlobalAuthorizerExample/Features/GetCourseVideoDetails/Handler.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/examples/GlobalAuthorizerExample/Features/GetCourseVideoDetails/Handler.cs -------------------------------------------------------------------------------- /examples/GlobalAuthorizerExample/Features/GetCourseVideoDetails/Request.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/examples/GlobalAuthorizerExample/Features/GetCourseVideoDetails/Request.cs -------------------------------------------------------------------------------- /examples/GlobalAuthorizerExample/Features/GetCourseVideoDetails/Response.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/examples/GlobalAuthorizerExample/Features/GetCourseVideoDetails/Response.cs -------------------------------------------------------------------------------- /examples/GlobalAuthorizerExample/GlobalAuthorizerExample.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/examples/GlobalAuthorizerExample/GlobalAuthorizerExample.csproj -------------------------------------------------------------------------------- /examples/GlobalAuthorizerExample/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/examples/GlobalAuthorizerExample/Program.cs -------------------------------------------------------------------------------- /tests/MediatR.Behaviors.Authorization.Tests/Behaviors/RequestAuthorizationBehaviorTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/tests/MediatR.Behaviors.Authorization.Tests/Behaviors/RequestAuthorizationBehaviorTests.cs -------------------------------------------------------------------------------- /tests/MediatR.Behaviors.Authorization.Tests/Exceptions/UnauthorizedExceptionTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/tests/MediatR.Behaviors.Authorization.Tests/Exceptions/UnauthorizedExceptionTests.cs -------------------------------------------------------------------------------- /tests/MediatR.Behaviors.Authorization.Tests/Extensions/DependencyInjection/AddAuthorizersFromAssemblyExtensionTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/tests/MediatR.Behaviors.Authorization.Tests/Extensions/DependencyInjection/AddAuthorizersFromAssemblyExtensionTests.cs -------------------------------------------------------------------------------- /tests/MediatR.Behaviors.Authorization.Tests/Extensions/DependencyInjection/AddMediatorAuthorizationExtensionTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/tests/MediatR.Behaviors.Authorization.Tests/Extensions/DependencyInjection/AddMediatorAuthorizationExtensionTests.cs -------------------------------------------------------------------------------- /tests/MediatR.Behaviors.Authorization.Tests/Interfaces/AuthorizationHandlerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/tests/MediatR.Behaviors.Authorization.Tests/Interfaces/AuthorizationHandlerTests.cs -------------------------------------------------------------------------------- /tests/MediatR.Behaviors.Authorization.Tests/MediatR.Behaviors.Authorization.Tests.csproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/tests/MediatR.Behaviors.Authorization.Tests/MediatR.Behaviors.Authorization.Tests.csproj -------------------------------------------------------------------------------- /tests/MediatR.Behaviors.Authorization.Tests/Models/AbstractRequestAuthorizerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/tests/MediatR.Behaviors.Authorization.Tests/Models/AbstractRequestAuthorizerTests.cs -------------------------------------------------------------------------------- /tests/MediatR.Behaviors.Authorization.Tests/Models/AuthorizationResultTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AustinDavies/MediatR.Behaviors.Authorization/HEAD/tests/MediatR.Behaviors.Authorization.Tests/Models/AuthorizationResultTests.cs --------------------------------------------------------------------------------