Rollenverwaltung in ASP MVC 5 (Microsoft.AspNet.Identity)

In ASP MVC5 RC hat das Rollensystem nicht funktioniert. Meine Datenbank hat alle Bedarfstabellen, eine Rolle ist vorhanden, aber die Überprüfung, ob der Benutzer in der Rolle ist, gibt immer false zurück (keine SQL-Ausnahme oder ähnliches) !?

Musste ich das Rollensystem für aktivieren?IPrincipal irgendwo?

Testcode:

AccountController accCont = new AccountController();

// check role exist : result = true
var roleExist = await accCont.IdentityManager.Roles.RoleExistsAsync("61c84919-72e2-4114-9520-83a3e5f09de1");

// try find role by name : result = role object
var role = await accCont.IdentityManager.Roles.FindRoleByNameAsync("ProjectAdministrator");

// check with AccountController instance :  result = true
var exist = await accCont.IdentityManager.Roles.IsUserInRoleAsync(User.Identity.GetUserId(), role.Id);

// check if current user is in role : result (both) = false????
var inRole = User.IsInRole(role.Id);
var inRole2 = User.IsInRole(role.Name);

Ich versuche auch, eine benutzerdefinierte Dämpfung wie die zu erstellenIIdentity.GetUserId() Verlängerungsmethode vonMicrosoft.AspNet.Identity.Owin Namespace.

namespace Microsoft.AspNet.Identity
{
   public static class IdentityExtensions
   {
       public static string IsUserInRole(this IIdentity identity)
       {
           if (identity == null)
           {
               throw new ArgumentNullException("identity");
           }
           ClaimsIdentity identity2 = identity as ClaimsIdentity;
           if (identity2 != null)
           {
               var result = identity2.FindFirstValue(IdentityConfig.Settings.GetAuthenticationOptions().RoleClaimType);

               return null; // later result
           }
           return null;
       }
   }
}

Aber das Ergebnis für AnspruchstypRoleClaimType ist immernull :( Ich bleibe wirklich dabei.

Danke für deine Hilfe! Steffen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage