Skip to content

Instantly share code, notes, and snippets.

View kkadir's full-sized avatar
💭
FE Hell

Kadir Kılıçoğlu kkadir

💭
FE Hell
View GitHub Profile
version: '2'
services:
dev_m1af_msdc_1:
image : "registry2.swarm.devfactory.com/m1/af-msdc:1.2.0.10-RC1"
restart: always
container_name: "dev_m1af_msdc_1"
hostname: "kitkat"
domainname: "aflab1.aflab.messageone.com"
cpu_quota: 400000
mem_limit: 16g
public void EvaluateCustomerDepositStatusforEnrollment()
{
try
{
...
// Get customer list with status "L - Letter Generated"
var lstCustomerDepositData = depositEvaluationTask.GetCustomersListByStatus(CustomerStatusOption.EnrollmentProcessing_LetterGenerated);
if (lstCustomerDepositData == null || lstCustomerDepositData.Count.Equals(0)) return; // <== This line returns if there aren't any customers with the "L - Letter Generated" status
@kkadir
kkadir / Enumeration.cs
Created September 14, 2019 10:22
An enumeration wrapper with lazy initialization.
namespace Models.Enums
{
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
/// <summary>
/// The base type to create enumeration classes.
@kkadir
kkadir / SampleAttributeUsage.cs
Created March 3, 2020 10:22
A sample usage of the custom PermissionsAttribute.
...
...
[Permissions(Permissions = new[] { "Read", "Write" },
Roles = new[] { "Admin"})]
[HttpGet("{id}")]
public async Task<IActionResult> GetAsync(int id)
{
...
}
@kkadir
kkadir / TruthTable.csv
Created March 3, 2020 11:41
The Enigmatic Truth Table of Authorization Handlers.
H1 H2 HN Result
1 N/A N/A Success
0 1 N/A Success
0 0 1 Success
0 0 0 Fail
@kkadir
kkadir / PermissionsAttribute.cs
Last active March 3, 2020 18:18
The custom authorization attribute.
using System;
using Microsoft.AspNetCore.Authorization;
namespace CustomPolicyProvidersDemo.Authorization
{
public sealed class PermissionsAttribute : AuthorizeAttribute
{
public const string PermissionsGroup = "Permissions";
public const string RolesGroup = "Roles";
public const string ScopesGroup = "Scopes";
@kkadir
kkadir / PermissionsRequirement.cs
Last active March 3, 2020 18:21
The requirements for our custom policy providers
using System;
using Microsoft.AspNetCore.Authorization;
namespace CustomPolicyProvidersDemo.Authorization
{
public interface IIdentifiable
{
Guid Identifier { get; }
}
@kkadir
kkadir / PermissionsPolicyProvider.cs
Last active March 3, 2020 18:24
The custom policy provider.
using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.Options;
namespace CustomPolicyProvidersDemo.Authorization
{
public class PermissionsPolicyProvider : IAuthorizationPolicyProvider
{
@kkadir
kkadir / PermissionsAuthorizationHandler.cs
Last active March 3, 2020 18:33
The PermissionsAuthorizationHandler custom implementation
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.Logging;
namespace CustomPolicyProvidersDemo.Authorization
{
@kkadir
kkadir / RolesAuthorizationHandler.cs
Last active March 3, 2020 18:34
The RolesAuthorizationHandler custom implementation
using System;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.Extensions.Logging;
namespace CustomPolicyProvidersDemo.Authorization
{
public class RolesAuthorizationHandler : AuthorizationHandler<RolesRequirement>