Sdílet prostřednictvím


Ověřování pomocí formulářů ve webovém rozhraní API ASP.NET

Mike Wasson

Ověřování pomocí formulářů používá formulář HTML k odeslání přihlašovacích údajů uživatele na server. Není to internetový standard. Ověřování pomocí formulářů je vhodné pouze pro webová rozhraní API, která jsou volána z webové aplikace, aby uživatel mohl pracovat s formulářem HTML.

Výhody Nevýhody
  • Snadno implementované: integrované do ASP.NET.
  • Používá ASP.NET poskytovatele členství, což usnadňuje správu uživatelských účtů.
  • Nejedná se o standardní mechanismus ověřování HTTP; místo standardní autorizační hlavičky používá soubory cookie HTTP; někteří uživatelé zakažou soubory cookie.
  • Obtížné použití pro klienty mimo prohlížeč. Přihlášení vyžaduje prohlížeč.
  • Přihlašovací údaje uživatele se v požadavku odesílají jako prostý text.
  • Zranitelné vůči padělání žádostí mezi weby (CSRF); vyžaduje opatření proti CSRF.

Stručně řečeno, ověřování pomocí formulářů v ASP.NET funguje takto:

  1. Klient požaduje prostředek, který vyžaduje ověření.
  2. Pokud uživatel není ověřený, server vrátí HTTP 302 (Nalezeno) a přesměruje se na přihlašovací stránku.
  3. Uživatel zadá přihlašovací údaje a odešle formulář.
  4. Server vrátí další HTTP 302, který přesměruje zpět na původní URL. Tato odpověď zahrnuje ověřovací soubor cookie.
  5. Klient znovu požádá o prostředek. Požadavek obsahuje ověřovací soubor cookie, takže server žádost udělí.

Obrázek toho, jak funguje ověřování pomocí formulářů v A S P dot Net

Další informace najdete v tématu Přehled ověřování pomocí formulářů.

Použití ověřování pomocí formulářů s webovým rozhraním API

Chcete-li vytvořit aplikaci, která používá ověřování pomocí formulářů, vyberte šablonu "Internetová aplikace" v průvodci projektem MVC 4. Tato šablona vytvoří kontrolery MVC pro správu účtů. Můžete také použít šablonu Jednostráková aplikace, která je k dispozici v aktualizaci ASP.NET podzimu 2012.

V řadičích webového rozhraní API můžete omezit přístup pomocí atributu[Authorize], jak je popsáno v části Použití atributu [Authorize].

Ověřování pomocí formulářů používá relaci cookie k ověření požadavků. Prohlížeče automaticky odesílají všechny relevantní soubory cookie na cílový web. Díky této funkci je ověřování formulářů potenciálně zranitelné vůči útokům csrF (cross-site request forgery), viz prevence útoků CSRF (Cross-Site Request Forgery).

Ověřování pomocí formulářů nešifruje přihlašovací údaje uživatele. Ověřování pomocí formulářů proto není zabezpečené, pokud se nepoužívá s protokolem SSL. Viz Práce s protokolem SSL ve webovém rozhraní API.