这取决于您希望系统有多灵活。如果要在管理面板中更改 URI 路径,那么将 URL 存储在某种配置中并在登录时加载它们将是可行的方法。
对于我认为您想要的,我会将组中的 URI 定义为常量:
<?php
class Group extends Eloquent {
const ADMIN_URI = 'myapp/dashboard'; // Could also be named routes.
const WRITER_URI = 'myapp/write';
}
然后您可以登录用户并获取他们的权限组,然后在登录控制器中进行如下检查:
if(defined($redirectUri = sprintf('Group::%s_URI', strtoupper($groupName))) {
return Redirect::to(constant($redirectUri));
}
或类似的东西:
switch(strtolower($group)) {
case 'admin':
return Redirect::to(Group::ADMIN_URI);
break;
case 'writer':
return Redirect::to(Group::WRITER_URI);
break;
default:
return Redirect::to('homepage');
break;
}
这真的是见仁见智。您应该关心的唯一问题是如何存储 URI 路由并统一访问它们的集中位置。