diff --git a/src/MusicStore.Spa/Apis/AlbumsApiController.cs b/src/MusicStore.Spa/Apis/AlbumsApiController.cs
index 124238c739..53a207ee21 100644
--- a/src/MusicStore.Spa/Apis/AlbumsApiController.cs
+++ b/src/MusicStore.Spa/Apis/AlbumsApiController.cs
@@ -70,7 +70,7 @@ namespace MusicStore.Apis
}
[HttpPost]
- [Authorize("ManageStore", "Allowed")]
+ [Authorize("app-ManageStore", "Allowed")]
public async Task CreateAlbum()
{
var album = new Album();
@@ -96,7 +96,7 @@ namespace MusicStore.Apis
}
[HttpPut("{albumId:int}/update")]
- [Authorize("ManageStore", "Allowed")]
+ [Authorize("app-ManageStore", "Allowed")]
public async Task UpdateAlbum(int albumId)
{
var album = _storeContext.Albums.SingleOrDefault(a => a.AlbumId == albumId);
@@ -129,7 +129,7 @@ namespace MusicStore.Apis
}
[HttpDelete("{albumId:int}")]
- [Authorize("ManageStore", "Allowed")]
+ [Authorize("app-ManageStore", "Allowed")]
public async Task DeleteAlbum(int albumId)
{
//var album = await _storeContext.Albums.SingleOrDefaultAsync(a => a.AlbumId == albumId);
diff --git a/src/MusicStore.Spa/Controllers/PageController.cs b/src/MusicStore.Spa/Controllers/PageController.cs
index e25377f6eb..8e795e43a4 100644
--- a/src/MusicStore.Spa/Controllers/PageController.cs
+++ b/src/MusicStore.Spa/Controllers/PageController.cs
@@ -13,7 +13,7 @@ namespace MusicStore.Spa.Controllers
}
[HttpGet("admin")]
- [Authorize("ManageStore", "Allowed")]
+ [Authorize("app-ManageStore", "Allowed")]
public IActionResult Admin()
{
return View("/Pages/Admin.cshtml");
diff --git a/src/MusicStore.Spa/Models/SampleData.cs b/src/MusicStore.Spa/Models/SampleData.cs
index bb6e4cd947..9c2885d7ea 100644
--- a/src/MusicStore.Spa/Models/SampleData.cs
+++ b/src/MusicStore.Spa/Models/SampleData.cs
@@ -56,7 +56,7 @@ namespace MusicStore.Models
user = new ApplicationUser { UserName = settings.DefaultAdminUsername };
await userManager.CreateAsync(user, settings.DefaultAdminPassword);
await userManager.AddToRoleAsync(user, adminRole);
- await userManager.AddClaimAsync(user, new Claim("ManageStore", "Allowed"));
+ await userManager.AddClaimAsync(user, new Claim("app-ManageStore", "Allowed"));
}
}
diff --git a/src/MusicStore.Spa/Pages/Admin.cshtml b/src/MusicStore.Spa/Pages/Admin.cshtml
index 233aba1a13..811672efc3 100644
--- a/src/MusicStore.Spa/Pages/Admin.cshtml
+++ b/src/MusicStore.Spa/Pages/Admin.cshtml
@@ -17,7 +17,6 @@
-
@* TODO: This is currently all the compiled TypeScript, non-minified. Need to explore options
for alternate loading schemes, e.g. AMD loader of individual modules, min vs. non-min, etc. *@
diff --git a/src/MusicStore.Spa/Views/Account/Login.cshtml b/src/MusicStore.Spa/Views/Account/Login.cshtml
index f5a68c0df2..c66d058249 100644
--- a/src/MusicStore.Spa/Views/Account/Login.cshtml
+++ b/src/MusicStore.Spa/Views/Account/Login.cshtml
@@ -96,8 +96,8 @@
@*@Scripts.Render("~/bundles/jqueryval")*@
@*
*@
-
-
+
+
@* TODO: This is currently all the compiled TypeScript, non-minified. Need to explore options
for alternate loading schemes, e.g. AMD loader of individual modules, min vs. non-min, etc. *@
diff --git a/src/MusicStore.Spa/Views/Shared/_LoginPartial.cshtml b/src/MusicStore.Spa/Views/Shared/_LoginPartial.cshtml
index 8c70f2d26b..3dc4612ff4 100644
--- a/src/MusicStore.Spa/Views/Shared/_LoginPartial.cshtml
+++ b/src/MusicStore.Spa/Views/Shared/_LoginPartial.cshtml
@@ -1,4 +1,5 @@
@using System.Security.Principal
+@using System.Security.Claims
@using Microsoft.AspNet.Identity
@{
@@ -18,15 +19,18 @@
Log off
- @*@Html.Json(new {
+ @Html.Json(new {
isAuthenticated = true,
userName = User.Identity.GetUserName(),
userId = User.Identity.GetUserId(),
- roles = ((System.Security.Claims.ClaimsPrincipal)User).Claims
- .Where(c => c.Type == System.Security.Claims.ClaimTypes.Role)
- .Select(role => role.Value)
+ roles = ((ClaimsPrincipal)User).Claims
+ .Where(c => c.Type == ClaimTypes.Role)
+ .Select(role => role.Value),
+ claims = ((ClaimsPrincipal)User).Claims
+ .Where(c => c.Type.StartsWith("app-", StringComparison.OrdinalIgnoreCase))
+ .Select(role => new { role.Type, role.Value })
},
- new { id = "userDetails" })*@
+ new { id = "userDetails" })
}
}
else
@@ -36,11 +40,11 @@ else
@Html.ActionLink("Log in", "Login", "Account", routeValues: null, htmlAttributes: new { id = "loginLink", app_login_link = "" })
- @*@Html.Json(new {
+ @Html.Json(new {
isAuthenticated = false,
userName = (string)null,
userId = (string)null,
roles = Enumerable.Empty()
},
- new { id = "userDetails" })*@
+ new { id = "userDetails" })
}
diff --git a/src/MusicStore.Spa/ng-apps/MusicStore.Admin/Catalog/AlbumEdit.cshtml b/src/MusicStore.Spa/ng-apps/MusicStore.Admin/Catalog/AlbumEdit.cshtml
index 9c55535363..0494941d88 100644
--- a/src/MusicStore.Spa/ng-apps/MusicStore.Admin/Catalog/AlbumEdit.cshtml
+++ b/src/MusicStore.Spa/ng-apps/MusicStore.Admin/Catalog/AlbumEdit.cshtml
@@ -4,7 +4,7 @@
Album {{ viewModel.mode | titlecase }}
-
+
{{ viewModel.alert.message }}
- {{ modelError.ErrorMessage }}
diff --git a/src/MusicStore.Spa/ng-apps/MusicStore.Admin/Catalog/AlbumList.cshtml b/src/MusicStore.Spa/ng-apps/MusicStore.Admin/Catalog/AlbumList.cshtml
index 5b992b790e..ab651de430 100644
--- a/src/MusicStore.Spa/ng-apps/MusicStore.Admin/Catalog/AlbumList.cshtml
+++ b/src/MusicStore.Spa/ng-apps/MusicStore.Admin/Catalog/AlbumList.cshtml
@@ -6,7 +6,7 @@
Create new
-
+
{{ viewModel.alert.message }}
- {{ modelError.ErrorMessage }}
diff --git a/src/MusicStore.Spa/ng-apps/MusicStore.Admin/MusicStore.Admin.app.ts b/src/MusicStore.Spa/ng-apps/MusicStore.Admin/MusicStore.Admin.app.ts
index ab415980c8..c8023be540 100644
--- a/src/MusicStore.Spa/ng-apps/MusicStore.Admin/MusicStore.Admin.app.ts
+++ b/src/MusicStore.Spa/ng-apps/MusicStore.Admin/MusicStore.Admin.app.ts
@@ -37,7 +37,7 @@ module MusicStore.Admin {
}
// Use this method to register work which should be performed when the injector is done loading all modules.
- //function BUG:run() {
-
- //}
+ function run($log: ng.ILogService, userDetails: UserDetails.IUserDetailsService) {
+ $log.log(userDetails.getUserDetails());
+ }
}
\ No newline at end of file
diff --git a/src/MusicStore.Spa/wwwroot/js/MusicStore.Admin.js b/src/MusicStore.Spa/wwwroot/js/MusicStore.Admin.js
index 10ff7acb78..86d5957c34 100644
--- a/src/MusicStore.Spa/wwwroot/js/MusicStore.Admin.js
+++ b/src/MusicStore.Spa/wwwroot/js/MusicStore.Admin.js
@@ -1028,6 +1028,10 @@ var MusicStore;
"$routeProvider",
"$logProvider",
configuration
+ ]).run([
+ "$log",
+ "MusicStore.UserDetails.IUserDetailsService",
+ run
]);
var dependencies = [
@@ -1053,6 +1057,10 @@ var MusicStore;
$routeProvider.when("/albums/:albumId/details", { templateUrl: "ng-apps/MusicStore.Admin/Catalog/AlbumDetails.cshtml" }).when("/albums/:albumId/:mode", { templateUrl: "ng-apps/MusicStore.Admin/Catalog/AlbumEdit.cshtml" }).when("/albums/:mode", { templateUrl: "ng-apps/MusicStore.Admin/Catalog/AlbumEdit.cshtml" }).when("/albums", { templateUrl: "ng-apps/MusicStore.Admin/Catalog/AlbumList.cshtml" }).otherwise({ redirectTo: "/albums" });
}
+
+ function run($log, userDetails) {
+ $log.log(userDetails.getUserDetails());
+ }
})(MusicStore.Admin || (MusicStore.Admin = {}));
var Admin = MusicStore.Admin;
})(MusicStore || (MusicStore = {}));