Ich mag:Wie 5 Rollen in der Benutzeridentität in MVC verwenden
1) erstellen mvc Projekt.
2) meine eigene Datenbank erstellen und die Connectionstring in web.config Form ändern: zu:
3) ich das Projekt ausführen und einen neuen Benutzer verknüpften Tabelle hinzufügen, um meinen Datenbank.
4) Ich wollte eine Rolle einem Benutzer nach der Anmeldung eines Benutzers wie dieser Code in accountControler hinzuzufügen:
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email };
IdentityResult result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
//******************* Add Role To User **************
if (!Roles.RoleExists("Member"))
Roles.CreateRole("Member");
Roles.AddUserToRole(model.Email, "Member");
//****************************************************
await SignInAsync(user, isPersistent: false);
// For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771
// Send an email with this link
// string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);
// var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
// await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");
return RedirectToAction("Index", "Home");
}
else
{
AddErrors(result);
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
5) Ich füge
<roleManager enabled="true">
in:
<system.web></system.web>
Wenn ich einen neuen Benutzer erstellen, registrieren sich meine Benutzer gut, aber der Benutzer wird der Rolle nicht hinzugefügt, und wenn ich dies tue VS Erstellen Sie eine neue Datenbank in App_Data mit dem Namen "ASPNETDB.MDF". so fand ich einen neuen Artikel, der über Role Provider-Einstellungen in web.config erklären und:
6) Ich füge
<roleManager enabled="true">
<providers>
<clear/>
<add name="AspNetSqlRoleProvider" connectionStringName="DefaultConnection" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</providers>
</roleManager>
in:
<system.web></system.web>
aber wenn ich will neue registrieren Benutzer Ich fand diesen Fehler:
Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'.
Jetzt denke ich, mein Problem ist, wenn ich Schritt 3 es werde Ich erstelle die Benutzeridentitätsdatenbank und die gespeicherte Prozedur nicht vollständig! Verwende ich die Rolle "Wahr" für MVC 5? Bitte helfen Sie mir, dieses Problem zu lösen!
der Regel Menschen mit niedrigeren rep nicht gesetzt viel Mühe beim Schreiben ihrer Fragen, aber Mann, du bist ein Star !! Upvoted für die Frage Klarheit !! – frenchie