zu implementieren Ich versuche, das Schwarze Loch zu navigieren, die die benutzerdefinierte Implementierung von Identity-Mitgliedschaft ist. Mein Ziel ist im Moment einfach diese Zeile von meinem ApiController
zu bekommen, um richtig meine Usermanager abrufen:Erfolgreich benutzerdefinierte Benutzer-Manager <IUser> in Identity 2.0
public IHttpActionResult Index()
{
var manager = HttpContext.Current.GetOwinContext().GetUserManager<UserManager<MyUser,int>>();
//manager is null
}
Hier ist mein Setup. In meinem Startup
‚s Konfiguration stelle ich die WebAPI und meine OwinContext hinzufügen:
app.CreatePerOwinContext<UserManager<MyUser,int>>(Create);
Methode eröffne mein:
public static UserManager<User,int> Create(IdentityFactoryOptions<UserManager<MyUser,int>> options, IOwinContext context)
{
return new UserManager<MyUser,int>(new UserStore(new DbContext()));
}
der Rest der grundlegendsten Implementierung ist die ich machen kann.
MyUser:
public class MyUser : IUser<int>
{
public int Id { get; set; }
public string UserName { get; set; }
}
MyUserStore:
public class MyUserStore : IUserStore<MyUser,int>
{
private IdentityDbContext context;
public MyUserStore(IdentityDbContext c)
{
context = c;
}
//Create,Delete, etc implementations
}
MyDbContext:
public class MyDbContext : IdentityDbContext
{
public MyDbContext() : base("Conn")
{
}
}
Das ist alles zum Wohle des Lernens, wie Identität arbeitet, die ich ziemlich überzeugt bin kein man weiß es wirklich. Ich möchte in der Lage sein, meine Benutzer und Rollen vollständig anzupassen, indem ich den IdentityUser von Microsoft vermeide.
Wieder ist mein Problem im Moment, dass ich in meinem Controller null
bekomme, wenn ich versuche, meinen UserManager abzurufen.
Jede und alle Hilfe wird sehr geschätzt.
Ziemlich große Aussage über "zu lernen, wie Identität funktioniert, von der ich ziemlich überzeugt bin, dass niemand wirklich weiß". Quellcode weiß. Quellcode ist über Decompiler verfügbar. – trailmax
Das war eher ein Ausdruck meiner Frustration, als ich nicht viele Beispiele finden konnte – Jonesopolis