【发布时间】:2013-06-20 16:45:06
【问题描述】:
我有一个包含两个步骤的用户登录系统:
- 用户登录
- 尝试将用户绑定到 AD(这是 LDAP 身份验证模块)
- 如果用户可以通过 AD 登录,请检查用户是否存在于用户表中
- 如果用户表中不存在用户,请添加它们 - 仅“用户名”和“好名”
- 如果添加了用户,他们将不属于任何团队,并会收到通知联系他们的经理以继续帐户设置。
- 将用户列加载到 Laravel Session
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');
});
但是,我不觉得这是一个非常优雅的解决方案 - 主要是因为我无法通过这种方法进行反向路由。
有什么提示或建议吗?
【问题讨论】: