ユーザー名とパスワードを使用した mysql データベースによる単純な認証を使用するプロジェクトがあります。パス、ユーザー、yubico キーの 3 つのフィールドを使用した認証用のシンプルなフォームがあります。login+pass による認証とyubico keyのみによる認証の 2 つのバリアントが必要です。ここで、このトピックのチュートリアルでカスタム認証プロバイダーを作成しました。
その結果、機能しません。次のエラー ログが表示されます。
E:\Dropbox\hmciAdmin\vendor\symfony\symfony\src\Symfony\Component\Security\Core\Authentication\Provider\UserAuthenticationProvider. php:70 スタック トレース: #0 E:\Dropbox\hmciAdmin\app\cache\dev\classes.php(183): session_start() #1 E:\Dropbox\hmciAdmin\app\cache\dev\classes.php( 277): Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
ここに私のコード:
- https://dl.dropbox.com/u/30086473/Authentication/Firewall/YubicoListener.php
- https://dl.dropbox.com/u/30086473/Authentication/Provider/YubicoProvider.php
- https://dl.dropbox.com/u/30086473/Authentication/Token/YubicoToken.php
- https://dl.dropbox.com/u/30086473/Authentication/Token/config/services.yml
- https://dl.dropbox.com/u/30086473/Authentication/Token/config/config/security.yml
アップデート:
更新 2:
この問題を解決します。問題は、両方のタイプの認証に同じ html フォームを使用したことですが、保護されているページの URL に yubico キーを送信する必要がありました。これですべて動作します。助けてくれてありがとう。