[英]Why Symfony dont use a Form to handle security component login?
從描述如何設置與Symfony Security
組件一起使用的登錄表單的文檔https://symfony.com/doc/current/security/form_login_setup.html中,我很驚訝地沒有看到Symfony Form
組件的使用。
他們以純HTML格式呈現表單,並且表單由某種魔術,安全組件在某處處理(並打破了應該處理HTTP請求的Controller的概念)。
是否有特定的原因不使用Form類型? (以及控制器)。
Symfony安全性不使用表單,因為表單可處理提交的數據,並且大多數身份驗證方法是使用表單無法訪問的HTTP標頭完成的。
安全組件具有2個角色:身份驗證和授權。 您在此問題中提到身份驗證。
身份驗證比僅在控制器中處理表單要復雜得多。
僅一種身份驗證方法意味着以symfony形式提交表單:UsernamePasswordToken,甚至可以通過標頭將其作為http基本/摘要身份驗證提交。
其他登錄/身份驗證/授權方式是通過“記住我”令牌,會話,oauth令牌,Json Web令牌,SAML等。
更為靈活的方法是僅基於事件建立身份驗證系統,盡管這給使用Symfony 3中的Symfony Guard解決的系統增加了相當的復雜性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.