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 |
---|---|
|
|
Stručně řečeno, ověřování formulářů v ASP.NET funguje takto:
- Klient požádá o prostředek, který vyžaduje ověření.
- Pokud uživatel není ověřený, server vrátí http 302 (Nalezeno) a přesměruje se na přihlašovací stránku.
- Uživatel zadá přihlašovací údaje a odešle formulář.
- 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.
- Klient znovu požádá o prostředek. Požadavek obsahuje ověřovací soubor cookie, takže server žádost udělí.
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.