2016-10-27 4 views
0

Ich versuche, ein Web-API zur Authentifizierung in einem lokalen Projekt zu implementieren und diesen Prozess zu lernen Ich benutze das Tutorial von ASP.net Here Die Fehler, die ich mit diesem Spiegel bekomme die Probleme, die ich mit meinen eigenen habe, so fühlte es sich wie ein guter Ausgangspunkt für die Fehlersuche. Die einzigen Änderungen, die ich gemacht habe, verweisen auf meine lokale SQL-Datenbank.Ich kann mich nicht mit Web-API-Identität anmelden

Ich mag nicht die Namenskonvention der Tabellen, die es erstellt, also habe ich eine Überschreibung hinzugefügt, um die Tabellennamen anzugeben, die ich von einer Online-Ressource erhalten habe. Als ich add außer Kraft setzen diese es einen Statuscode 500 Interner Serverfehler werfen:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 
    public ApplicationDbContext() 
     : base("DefaultConnection", throwIfV1Schema: false) 
    { 
    } 

    public static ApplicationDbContext Create() 
    { 
     return new ApplicationDbContext(); 
    } 

    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     base.OnModelCreating(modelBuilder); 

     modelBuilder.Entity<IdentityUser>().ToTable("User").Property(p => p.Id).HasColumnName("UserID"); 
     modelBuilder.Entity<IdentityRole>().ToTable("Roles").Property(p => p.Id).HasColumnName("RoleID"); 
     modelBuilder.Entity<IdentityUserRole>().ToTable("UserRole"); 
     modelBuilder.Entity<IdentityUserLogin>().ToTable("UserLogin"); 
     modelBuilder.Entity<IdentityUserClaim>().ToTable("UserClaim").Property(p => p.Id).HasColumnName("UserClaimID"); 
    } 
} 

Wie kann ich die Funktionalität behalten und die Tabellennamen ändern?

+0

Was ist der Fehler? –

+0

Sollte kein Problem sein. Ich habe meine Tabellennamen geändert, obwohl die Eigenschaften nicht gestört wurden. Was erhalten Sie lokal, wenn die 500 zurückgegeben wird - alles aus dem Debuggen oder einem Stack-Trace? –

Antwort

0

Das Problem war, dass ich es einmal ausgeführt, erstellt das Standardschema Tabelle, dann habe ich es erneut ausgeführt und es war eine Code-Migration erwartet, um die Tabellen zu aktualisieren. Ich erwartete, dass es neue Tabellen generieren würde, also war das die Verwirrung. Ich löschte die gesamte Datenbank und behielt die gleiche Übersteuerungsmethode an Ort und Stelle und es funktionierte.

+0

Jetzt habe ich ein ganz neues Problem, aber das wird eine neue Frage sein :( –

+0

Yer war 10 Sekunden davon entfernt, das als möglich zu posten :) –

0

Code sieht gut aus und ein 500 Fehler ist nicht genug Informationen für Sie oder uns, um fortzufahren. 500 wird für fast jede Ausnahme in einer Web-API zurückgegeben.

Es würde sich lohnen, diesem Leitfaden zu folgen: https://www.asp.net/web-api/overview/error-handling/exception-handling, um die Ursache dieser und zukünftiger Probleme in Ihrer Web-API zu identifizieren.

Verwandte Themen