我需要創建身份驗證項目之一,但簡單的登錄名/密碼不適合。需要逐步驗證:1'st - 用戶輸入其電話號碼 - 檢查用戶是否存在,然後電話發送短信並打開下一個表格,否則顯示消息; 2'st - 輸入代碼,用戶輸入獲得的代碼 - 檢查代碼是否等於生成,然後驗證用戶,否則再次發送。驗證一個字段與確認在Symfony2
作爲樣品我想在定製控制器獲得手機數據,如果用戶瑤池顯示他形成的相似:
<form action="{{ path('login_check') }}" method="post">
<input type="hidden" id="username" name="_username" value="{{ user_phone }}" />
<label for="password">Code:</label>
<input type="text" id="password" name="_password" value="" />
<input type="submit" name="login" />
</form>
但我不喜歡這個選項。也許有人說更漂亮的版本?)
賈瓦德,我創建phone_auth_provider和code_auth_provider,code_auth_provider - 空類實現UserProviderInterface,並在phone_auth_provider loadUserByUserName我寫的查詢來查找電話號碼的用戶並返回他,如果finded,但我總是有錯誤信息「Bad credentials」...我做錯了什麼? –
首先,確保'loadUserByUserName'返回用戶對象,您可以在返回之前var_dump返回的變量,如果它是用戶對象,則表示第一步正確完成。下一步是創建有點困難的定製認證;因爲你不會認證密碼的用戶羣(在你的情況下沒有密碼) – Javad
我不太瞭解你,類User的loadUserByUserName對象,但我不明白我應該在哪裏返回響應對象表單代碼條目。感謝您的幫助)) –