Website Summary Files Commits Branches @commit @diff @stats
path: root / src / DevHive.Web / Configurations / Extensions / ConfigureDatabase.cs
diff options
context:
space:
mode:
Commit1f8d51c5393ea2f413de4f3e05f77d360d096ff3 (patch)
Author
 transtrike <transtrike@gmail.com>
2021-01-23 16:01:05 +0200
Committer
 transtrike <transtrike@gmail.com>
2021-01-23 16:01:05 +0200
Files529dd85dfcae02a38ff6525c75c17db49f64bd91 /src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs
DevHive-1f8d51c5393ea2f413de4f3e05f77d360d096ff3.tar
DevHive-1f8d51c5393ea2f413de4f3e05f77d360d096ff3.tar.gz
DevHive-1f8d51c5393ea2f413de4f3e05f77d360d096ff3.zip
Parentdf06bc309d44db352441f42de7d34794a6ee54ba (diff)
The beginning of role based authorization
1 files changed, 12 insertions, 0 deletions
-rw-r--r--src/DevHive.Web/Configurations/Extensions/ConfigureDatabase.cs12
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 = ;
});
}