private static void RegisterAuthorizationPolicy(IServiceCollection services)
        {
            services.AddAuthorization(options =>
            {
                var mustBePartOfTeamRequirement = new MustBeTeamMemberUserPolicyRequirement();
                options.AddPolicy(
                    PolicyNames.MustBeTeamMemberUserPolicy,
                    policyBuilder => policyBuilder.AddRequirements(mustBePartOfTeamRequirement));
            });

            services.AddSingleton <IAuthorizationHandler, MustBeTeamMemberUserPolicyHandler>();
        }
Example #2
0
        private static void RegisterAuthorizationPolicy(IServiceCollection services)
        {
            services.AddAuthorization(options =>
            {
                var mustBePartOfTeamRequirement = new MustBeTeamMemberUserPolicyRequirement();
                options.AddPolicy(
                    PolicyNames.MustBeTeamMemberUserPolicy,
                    policyBuilder => policyBuilder.AddRequirements(mustBePartOfTeamRequirement));

                var mustBeMemberOfSecurityGroupRequirement = new MustBeTeacherOrAdminUserPolicyRequirement();
                options.AddPolicy(
                    PolicyNames.MustBeTeacherOrAdminPolicy,
                    policyBuilder => policyBuilder.AddRequirements(mustBeMemberOfSecurityGroupRequirement));

                var mustBeModeratorRequirement = new MustBeModeratorPolicyRequirement();
                options.AddPolicy(
                    PolicyNames.MustBeModeratorPolicy,
                    policyBuilder => policyBuilder.AddRequirements(mustBeModeratorRequirement));
            });

            services.AddTransient <IAuthorizationHandler, MustBeTeamMemberUserPolicyHandler>();
            services.AddSingleton <IAuthorizationHandler, MustBeTeacherOrAdminUserPolicyHandler>();
            services.AddSingleton <IAuthorizationHandler, MustBeModeratorPolicyHandler>();
        }