這取決於您希望系統的靈活性。如果將在管理面板中更改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;
}
這真是opini的問題上。你應該關心的唯一問題是如何存儲URI路由並統一訪問它們的集中位置。
當你說「基本認證」你是指HTTP基本認證?我問,因爲使用HTTP基本身份驗證會真正限制您的應用程序如何與身份驗證機制交互。 –
是否每個用戶只有一個組?用組名和應用程序/路徑配對製作一張表。然後在他們完成登錄時查看它。如果他們可以有多個組,我會考慮建立角色增強的角色並使用角色來匹配URL片段。 –
@MikeBrant你是什麼意思?我正在使用Laravel篩選器來檢查登錄用戶對權限表的權限。 – intelis