ASP.NET MVC Identity   otázka

C#, ASP.NET MVC

Dobrý den,

chtěl bych se zeptat.

Jak v ASP MVC se dá vypsat údaje u registrovaném uživateli?

Používám VS šablonu kde je už registrace atd..

Takže jsem si registraci trochu upravil a přidal do ní Jméno a Příjmení atd...

A vůbec se mi nedaří vypsat nic kromě username pomoci User.Identity co je v tabulce AspNetUsers.

V PHP to jde vlastně takhle

$id_acc = $_SESSION["id"];
$Sql=mysql_query("SELECT * FROM ".Account." WHERE id = ".$id_acc." ");

$Name = mysql_real_escape_string($radek["name"]);

Ale v ASP netuším jak na to.

Chtěl jsem to udělat podobně, ale zasekl jsem se u toho, že ani nevím co dat místo .Account.

Byl bych vděčný za každou radu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Omlouvám se, špatně jsem napsal ten php kód.

$id_acc = $_SESSION["id"];
$Sql=mysql_query("SELECT * FROM ".Account." WHERE id = ".$id_acc." ");

while($radek = mysql_fetch_array($Sql))
{
   $Name = mysql_real_escape_string($radek["name"]);

   echo('Jméno: '.$Name.' ');
}
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Poradí mi někdo prosím?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Vyzkoušejte

HttpContext.Current.User
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mě funguje toto:

v contolleru si načtu uživatele

ViewBag.User = await HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>().FindByNameAsync(User.Identity.Name);

z User.Identity.Name si vytáhnu jméno přihlášeného, pak si seženu UserManager (toto by možná nebylo špatné cacheovat) a zavolám na něm FindByNameAsync s tím jménem.

Ve View pak mám ve ViewBag uživatele a můžu si tam s ním dělat co chci. Třeba:

@if (ViewBag.User != null)
{
    <p>Jsi přihlášen. Tvůj email je @(ViewBag.User.Email) a @(ViewBag.User.EmailConfirmed ? "není": "je") potvrzený.</p>
}
else
{
    <p>Nejsi přihlášen. Chceš to @Html.ActionLink("napravit", "Login", "Account")?</p>
}

Taky teď s Identity trochu bojuji a nevím jestli je to správně, ale funguje to.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Je to přece normální tabulka v databázi, tak není nic jednoduššího, než si na ní položit SQL dotaz a pomocí UserId si informace z toho vytáhnout.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ale je to relativně zbytečné se kvůli informacím, kterou jsou standardně čitelné z jiných (nedatabázových) zdrojů, připojovat k databázi.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jak rozšířit registraci v ASP.NET Identity 2.0 o další údaje popisuje tento článek:

http://typecastexception.com/post/2014/0...

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback