aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web/Configurations/Extensions
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-01-23 16:01:05 +0200
committertranstrike <transtrike@gmail.com>2021-01-23 16:01:05 +0200
commit1f8d51c5393ea2f413de4f3e05f77d360d096ff3 (patch)
tree529dd85dfcae02a38ff6525c75c17db49f64bd91 /src/DevHive.Web/Configurations/Extensions
parentdf06bc309d44db352441f42de7d34794a6ee54ba (diff)
downloadDevHive-1f8d51c5393ea2f413de4f3e05f77d360d096ff3.tar
DevHive-1f8d51c5393ea2f413de4f3e05f77d360d096ff3.tar.gz
DevHive-1f8d51c5393ea2f413de4f3e05f77d360d096ff3.zip
The beginning of role based authorization
Diffstat (limited to 'src/DevHive.Web/Configurations/Extensions')
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs b/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
index 4831435..6e92a65 100644
--- a/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
+++ b/src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
@@ -8,6 +8,8 @@ using Microsoft.AspNetCore.Builder;
using System;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using DevHive.Data;
+using Microsoft.AspNetCore.Authorization;
+using System.Collections.Generic;
namespace DevHive.Web.Configurations.Extensions
{
@@ -19,6 +21,7 @@ namespace DevHive.Web.Configurations.Extensions
options.UseNpgsql(configuration.GetConnectionString("DEV")));
services.AddIdentity<User, Role>()
+ .AddRoles<Role>()
.AddEntityFrameworkStores<DevHiveContext>();
services.Configure<IdentityOptions>(options =>
@@ -47,6 +50,15 @@ namespace DevHive.Web.Configurations.Extensions
options.AuthenticationSchemes.Add(JwtBearerDefaults.AuthenticationScheme);
options.RequireRole("User");
});
+
+ options.AddPolicy("Administrator", options =>
+ {
+ options.RequireAuthenticatedUser();
+ options.AuthenticationSchemes.Add(JwtBearerDefaults.AuthenticationScheme);
+ options.RequireRole("Admin");
+ });
+
+ // options.DefaultPolicy = ;
});
}