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

Mike Wasson

Ověřování pomocí formulářů používá k odeslání přihlašovacích údajů uživatele na server formulář HTML. Nejedná se o 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
  • Snadná implementace: Integrovaná do ASP.NET.
  • Používá poskytovatele členství ASP.NET, 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é soubory cookie zakazují.
  • Obtížné použití z nonbrowser klientů. Přihlášení vyžaduje prohlížeč.
  • Přihlašovací údaje uživatele se v požadavku odesílají jako prostý text.
  • Ohrožení padělání žádostí mezi weby (CSRF); vyžaduje anti-CSRF opatření.

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

  1. Klient požádá o 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ší protokol HTTP 302, který přesměruje zpět na původní identifikátor URI. 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 fungování ověřování pomocí formulářů v síti S P dot

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

Pokud chcete vytvořit aplikaci, která používá ověřování pomocí formulářů, vyberte v průvodci projektem MVC 4 šablonu Internetová aplikace. Tato šablona vytvoří řadiče MVC pro správu účtů. Můžete také použít šablonu Jednostránková aplikace, která je k dispozici v aktualizaci ASP.NET podzim 2012.

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

Ověřování pomocí formulářů používá k ověřování požadavků soubor cookie relace. 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. Proto ověřování pomocí formulářů není zabezpečené, pokud se nepoužívá s protokolem SSL. Viz Práce s SSL ve webovém rozhraní API.