Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Přiřazeni role po updatu ASP.NET MVC

Aktivity
Avatar
Neaktivní uživatel:20.5.2014 22:32

Hoj,

po updatu mi nefunguje přiřazení role.

RoleManager<IdentityRole> spravceRoli = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new IdentityDbContext()));
        spravceRoli.Create(new IdentityRole("admin"));
        UserManager<ApplicationUser> spravceUzivatelu = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
        ApplicationUser uzivatel = spravceUzivatelu.FindByName("sdraco");
        spravceUzivatelu.AddToRole(uzivatel.Id, "admin");
        return View();

Háže mi to chybu :

An exception of type 'System.Data.Entity.Core.EntityCommandExecutionException' occurred in mscorlib.dll but was not handled in user code

Additional information: An error occurred while executing the command definition. See the inner exception for details.

Může někdo poradit?
Díky :)

Odpovědět
20.5.2014 22:32
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Neaktivní uživatel:20.5.2014 22:46

Zkoušel jsem tám dat FindByEmail("") jelikož po update je misto UserName, Email v registraci. Ale háže to stejnou chybku.

Nahoru Odpovědět
20.5.2014 22:46
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:21.5.2014 17:15

Nikoho nic nenapada? :[:(

Nahoru Odpovědět
21.5.2014 17:15
Neaktivní uživatelský účet
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:21.5.2014 17:28
  1. Po jakém updatu
  2. V té výjimce máš napsáno: "See the inner exception for details."

Pokud se něco změnilo, upravím i zdejší tutoriál, určitě to ale nebude hned.

Nahoru Odpovědět
21.5.2014 17:28
You are the greatest project you will ever work on.
Avatar
Odpovídá na David Hartinger
Neaktivní uživatel:21.5.2014 18:02

Tý změny jsem si všiml, až po staženi VS2013 Update 2.
Možna byla dřív.

Všiml jsem si změn v IdentityModelu + AccountViewModelu, no a samozřejmě v AccountControlleru.

Jelikož použivám hned předpřipravený web, hned jako prvni změnu jsem si všiml že registrace už neni na UserName, ale na Email, což hned jsem zkusil přidání role a už to nešlo, zkoušel jsem ruzne finty, google, ale nic nenašel :[:(

Editováno 21.5.2014 18:05
Nahoru Odpovědět
21.5.2014 18:02
Neaktivní uživatelský účet
Avatar
Odpovídá na David Hartinger
Michal Štěpánek:22.5.2014 7:49

Ahoj, také jsem si po instalaci Update Visual Studia všiml těchto změn... Změnila se kompletně struktura tabulky AspNetUsers, možná i některých jiných, ale to jsem do podrobna už nezkoumal...

Nahoru Odpovědět
22.5.2014 7:49
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Neaktivní uživatel:26.5.2014 18:01

http://support.microsoft.com/kb/2927432

tu jsem našel změny, a furt nechapu co s tim provedli :D

Nahoru Odpovědět
26.5.2014 18:01
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michal Štěpánek:27.5.2014 13:04

Nevím proč, ale najednou to funguje

RoleManager<IdentityRole> spravceRoli = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new IdentityDbContext()));
spravceRoli.Create(new IdentityRole("admin"));

UserManager<ApplicationUser> spravceUzivatelu = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
ApplicationUser uzivatel = spravceUzivatelu.FindByName("[email protected]");
spravceUzivatelu.AddToRole(uzivatel.Id, "admin");

jen je v položce username celý email...

Editováno 27.5.2014 13:08
Nahoru Odpovědět
27.5.2014 13:04
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Neaktivní uživatel
Michal Štěpánek:27.5.2014 13:17

Zkusil jsem ručně změnit UserName v tabulce AspNetUsers tak, aby tam nebyl ten email, ale jen jméno a pak to funguje s tímto:

ApplicationUser uzivatel = spravceUzivatelu.FindByName("username");
Nahoru Odpovědět
27.5.2014 13:17
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Neaktivní uživatel:27.5.2014 13:46

Jo jo, taky jsem to zkusil po Xtý, a funguje to, ale předtim prostě to nešlo.

Nahoru Odpovědět
27.5.2014 13:46
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.