次の 2 つのステップで構成されるユーザー ログイン システムがあります。
- ユーザーログイン
- ユーザーを AD にバインドしようとします (これは LDAP 認証モジュールです)
- ユーザーが AD 経由でログインできる場合は、ユーザーがユーザー テーブルに存在するかどうかを確認します。
- ユーザーがユーザーテーブルに存在しない場合は、追加します - 「ユーザー名」と「ナイスネーム」のみ
- ユーザーが追加されると、そのユーザーはどのチームにも属さず、マネージャーに連絡してアカウントのセットアップを続行するように通知されます。
- ユーザー列を Laravel セッションにロードします
credentials
。これで、AD ログイン名、「ナイス」ネーム (最初の最後)、選択したチーム ID などがあります。ユーザーが認証されたため、パスワードはありません。
- チーム選択 - テーブル
userTeams
ピボット テーブル。 - ユーザーをチーム ダッシュボードにルーティングする
今、私はこのルートを持っています:
// This group forces user to be logged in; auth() will check if user has selected a team and ensures the team exists.
Route::group(array('before' => 'auth'), function() {
// Handle team - URL will be /dashboard -- Team controller based on view_name from `teamUsers` table
$teamUser = php_sapi_name() == "cli" ? null : @TeamUser::find(Session::get('credentials.team'));
if(!empty($teamUser)) {
$team = ucfirst(strtolower($teamUser->teams()->first()->view_name));
Route::controller('dashboard', 'Team'.$team.'Controller');
}
// Handle index
Route::controller('/', 'IndexController');
});
ただし、これは非常に洗練されたソリューションではないと思います。主に、この方法で逆ルーティングを行うことができないためです。
ヒントや提案はありますか?