Fixed bug in MVC sample.

This commit is contained in:
Judah Himango CW
2019-06-25 18:27:24 -05:00
parent e7d521d169
commit b85b2ad846
4 changed files with 21 additions and 8 deletions
+15 -3
View File
@@ -11,6 +11,7 @@ using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Raven.Client.Documents.Session;
using Raven.Client.Exceptions;
using Raven.Client.Documents;
namespace Raven.Identity
{
@@ -133,7 +134,9 @@ namespace Raven.Identity
{
throw new ArgumentNullException(nameof(role.Name));
}
await AsyncSession.StoreAsync(role, $"IdentityRoles/{role.Name}");
var roleId = GetRavenIdFromRoleName(role.Name, AsyncSession.Advanced.DocumentStore);
await AsyncSession.StoreAsync(role, roleId);
await SaveChanges(cancellationToken);
return IdentityResult.Success;
}
@@ -269,7 +272,9 @@ namespace Raven.Identity
{
cancellationToken.ThrowIfCancellationRequested();
ThrowIfDisposed();
return AsyncSession.LoadAsync<TRole>($"IdentityRoles/{normalizedName.ToLower()}");
var roleId = GetRavenIdFromRoleName(normalizedName, AsyncSession.Advanced.DocumentStore);
return AsyncSession.LoadAsync<TRole>(roleId);
}
/// <summary>
@@ -286,7 +291,8 @@ namespace Raven.Identity
{
throw new ArgumentNullException(nameof(role));
}
return Task.FromResult(role.Name.ToLower());
return Task.FromResult(role.Name.ToLowerInvariant());
}
/// <summary>
@@ -404,5 +410,11 @@ namespace Raven.Identity
/// <param name="claim">The associated claim.</param>
/// <returns>The role claim entity.</returns>
protected abstract TRoleClaim CreateRoleClaim(TRole role, Claim claim);
internal static string GetRavenIdFromRoleName(string role, IDocumentStore docStore)
{
var partSeparator = docStore.Conventions.IdentityPartsSeparator;
return "IdentityRole" + partSeparator + role;
}
}
}
+2 -2
View File
@@ -388,7 +388,7 @@ namespace Raven.Identity
{
ThrowIfNullDisposedCancelled(user, cancellationToken);
var roleNameLowered = roleName.ToLower();
var roleNameLowered = roleName.ToLowerInvariant();
if (!user.Roles.Contains(roleNameLowered, StringComparer.OrdinalIgnoreCase))
{
user.GetRolesList().Add(roleNameLowered);
@@ -419,7 +419,7 @@ namespace Raven.Identity
user.GetRolesList().RemoveAll(r => string.Equals(r, roleName, StringComparison.OrdinalIgnoreCase));
var roleId = "IdentityRoles/" + roleName.ToLower();
var roleId = RoleStore<IdentityRole>.GetRavenIdFromRoleName(roleName, DbSession.Advanced.DocumentStore);
var roleOrNull = await DbSession.LoadAsync<IdentityRole>(roleId, cancellationToken);
if (roleOrNull != null)
{
+1 -1
View File
@@ -15,7 +15,7 @@ namespace Sample.Mvc.Controllers
{
public RavenController(IAsyncDocumentSession dbSession)
{
this.DbSession = DbSession;
this.DbSession = dbSession;
// RavenDB best practice: during save, wait for the indexes to update.
// This way, Post-Redirect-Get scenarios won't be affected by stale indexes.
+2 -1
View File
@@ -2,7 +2,8 @@
ViewData["Title"] = "Sign in";
}
<h1>Hi! Please sign in. (Not registered? <a href="/account/register">Register here</a>.)</h1>
<h1>Hi! Please sign in</h1>
<p>Not registered? <a href="/account/register">Register here</a>.</p>
<form action="/account/signin" method="post">
<div class="form-group">