Ich versuche, Token-Authentifizierung mit ASP.NET-Identität in einem WebAPI 2 mit einem MySQL-Backend einzurichten, das dieses Tutorial verwendet.Web API 2.0 Verwenden von MySQL Identity Provider, AuthContext?
http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/
Leider verwendet dieses Beispiel Entity Framework und ich bin versucht, es zu ersetzen, wo immer ich kann mit MySQL (wenn es überhaupt möglich ist).
Ich bin so weit zu Schritt 5 gekommen, ein Authentifizierungsrepository zu erstellen. Dies ist das Beispiel gegeben:
public class AuthRepository : IDisposable
{
private AuthContext _ctx;
private UserManager<IdentityUser> _userManager;
public AuthRepository()
{
_ctx = new AuthContext();
_userManager = new UserManager<IdentityUser>(new UserStore<IdentityUser>(_ctx));
}
public async Task<IdentityResult> RegisterUser(UserModel userModel)
{
IdentityUser user = new IdentityUser
{
UserName = userModel.UserName
};
var result = await _userManager.CreateAsync(user, userModel.Password);
return result;
}
public async Task<IdentityUser> FindUser(string userName, string password)
{
IdentityUser user = await _userManager.FindAsync(userName, password);
return user;
}
public void Dispose()
{
_ctx.Dispose();
_userManager.Dispose();
}
}
I ersetzt Usermanager für MySQLUserManager, aber ich kann keine AuthContext machen. Weiß jemand, was ich referenzieren oder ersetzen muss. Ich brauche es nicht einmal referenzieren, wie in meinem IdentityConfig.cs Datei Ich habe nur
Vielleicht:
//Old entity framework stuff
//var manager = new ApplicationUserManager(new UserStore<ApplicationUser>(context.Get<ApplicationDbContext>()));
//shiny new mysql stuff
var manager = new ApplicationUserManager(new MySqlUserStore<ApplicationUser>());
(basierend off dieses Tutorial http://blog.developers.ba/asp-net-identity-2-1-for-mysql/)
Wenn ich eine Anwendung Benutzer benötigen, Soll ich es irgendwie weitergeben?
Ich habe das Tutorial erneut gelesen und stieß auf dieses Snippet. Es scheint sich um eine Verbindungszeichenfolge zu handeln.
<connectionStrings>
<add name="AuthContext" connectionString="Data Source=.\sqlexpress;Initial Catalog=AngularJSAuth;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
</connectionStrings>
Was könnte oder sollte ich es ersetzen?
Entity Framework ein ORM ist, keine Datenbank es ist mit vielen verschiedenen Datenbanken funktioniert Wenn Sie wollen. Verwenden Sie eine andere Datenbank, sollten Sie die Verbindungszeichenfolge ändern, * N OT * das ORM. Wie Sie MySQL mit EF auf der MySQL-Website verwenden können, erfahren Sie im [EF 6 Support] (https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60).html) Kapitel –
Ich habe es geschafft, es mit einem Freund arbeiten lassen, EF durch MySQL ersetzen (es gab einen Fehler in der Anleitung in Bezug auf Startup-Code Reihenfolge und so wird er eine Bestellung aufgeben) – Memhave
Er wird eine Antwort * – Memhave