Načíst informace o uživateli z ASPNetUsers stůl

0

Otázka

Jsem opravdu nový pomocí Blazor WASM a ASP.NET Jádro hostil. Mám nastavit login, který ukládá všechny registrované uživatele k ASPNetUsers stolu. Jsem zvědav, jak mohu získat tyto uživatele k zobrazení informací pro ostatní uživatele. Například já jsem při pohledu na moci mít uživatel přihlášen, kteří pak mohou hledat všechny další uživatelé, kteří se zaregistrovali do aplikace stejně. Jak bych mohl jít o zobrazení seznamu všech uživatelů, kteří se zaregistrovali do aplikace, uložené v ASPNetUsers stůl

Možnosti

enter image description here

Načíst a poslat zpět

    [HttpGet]
    public async Task<ActionResult<IEnumerable<User>>> Get()
    {
        var result = userManager.Users.FirstOrDefault();

        User x = new User();
        x.Username = result.Email;

        List<User> giveback = new List<User>();
        giveback.Add(x);
        
        return giveback;
    }
1

Nejlepší odpověď

2

Načíst všechny uživatele, přístup k Uživatelům nemovitostí na UserManager:

var users = UserManager.Users.ToList();

Obrázek v příspěvku ukazuje, že jste pouze přístup k statické členy. Nepoužíváte instance UserManager.

Potřebujete aplikovat instance do správce:

readonly UserManager<ApplicationUser> _userManager;

public MyController(UserManager<ApplicationUser> userManager)
{
    _userManager = userManager;
}

[HttpGet]
public ActionResult<IEnumerable<Ticket>> Get()
{
   var user = _userManager.Users.FirstOrDefault();
}
2021-11-24 12:27:41

Díky za odpověď. Když jsem se pokusila udělat výše uvedený kód, já to nechápu "Uživatelé" se objeví s mým UserManager objektu.
Krellex

Je UserManager jste přístupu od společnosti Microsoft.AspNetCore.Identitu? docs.microsoft.com/en-us/dotnet/api/...
Neil W

Jo. Jsem editoval post ukázat vlastnosti dostanu
Krellex

Odpověď aktualizována,
Neil W

Díky za dostat se zpátky. Na ApplicationUser je na straně serveru uvnitř Modelů složky. Když se snažím dělat @pomocí ProjectName.Server.Modely zdá se, že to nechtějí uznat. Jak bych přístup k ApplicationUser třídy z mé břitva stránku tak, aby požadavky http?
Krellex

Vy se snažíte získat přístup přímo z klienta-velikost břitva komponenty? To nebude fungovat, a ani by neměl. Vaše WASM klient a Server mají odkazy na společném projektu. Budete muset poskytnout API, které vrátí kolekce Uživatelská DTOs definovanými ve Sdílené projektu pro klienta konzumovat. Všechny mé rady výše uvedené se týká, jak se můžete dostat na uživatele na straně serveru. Poskytování dat do WASM klienta se provádí přes sdílené třídy (DTOs) ze sdíleného projektu.
Neil W

Byste doporučoval, aby třídy "UserDTO", která se dědí IdentityUser. Pak použijte tento UserTDO pro klientské interakce
Krellex

Ano, použít DTO. Ne, ne dědit. Jen mapě požadované údaje z IdentityUser na UserDTO, než se vrátí na klienta.
Neil W

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................