نوشته شده توسط
navid3d_69
ممنون این رو دیدم فعلا بهترین چیزی که مشکل من رو حل می کنه همین multiauth هست ولی دنبالم اینم ببینم راه دیگه هم هست اگر پیدا نکنم با همین کار می کنم
سلام .
یکی از دوستان قبلا یه روش گفته بود( خودمم توش مونده بودم ) که با یه روشی حلش کردم .
شما درون تیبل کاربران یه دونه فیلد با هر اسمی که دلت میخواد ایجاد کن ( مثلا role ) که درونش مقدار هایی مثله Admin , moderator , user و... رو میگیره .
حالا یه فیلتر بساز ، مثلا به این شکل ( البته من یه کار اضافی هم کردم : کاربری که فعال نیست رو هم بهش اجازه دسترسی ندادم ) :
Route::filter('RoleAdminModerator', function()
{
if (Auth::check() === false)
{
return Redirect::to('login');
}
if(Auth::check())
{
$active = Auth::user()->active;
$role = Auth::user()->role;
if($active == 1)
{
if($role != "admin")
{
return 'شما اجازه دسترسی به این بخش را ندارید .';
}
}
else
{
return 'حساب کاربری شما فعال نیست ، لطفا با مدیریت تماس بگیرید .';
}
}
});
حالا درون کنترلرهات این فیلتر رو درون __construct() قرار بده :
public function __construct()
{
$this->beforeFilter('RoleAdminModerator', array('on' => 'get'));
}
حالا برای هر کنترلر میتونی از همین استفاده کنی :)