updating permission system

This commit is contained in:
2019-01-07 11:14:44 -06:00
parent 2d17b97739
commit d57e979dd3
6 changed files with 132 additions and 8 deletions

View File

@@ -117,4 +117,16 @@ class AdminController extends Controller
return view('admin.dashboard')->with('error', 'User did not have the role.');
}
public function displayAllowedLogins() {
}
public function addAllowedLogin() {
}
public function removeAllowedLogin() {
}
}

View File

@@ -19,6 +19,17 @@ class RequirePermission
public function handle($request, Closure $next, $permission)
{
$confirmed = false;
/*
if(strpos($permission, 'role.')) {
$confirmed = $this->CheckRole($permission);
} else {
$confirmed = $this->CheckPermission($permission);
}
if($confirmed === false) {
abort(403, "You don't have permission to access this area.");
}
*/
$check = UserPermission::where(['character_id' => auth()->user()->character_id, 'permission' => $permission])->get(['permission']);
if(!isset($check[0]->permission)) {
@@ -27,4 +38,42 @@ class RequirePermission
return $next($request);
}
private function CheckPermission($permission) {
$confirmed = false;
$check = UserPermission::where(['character_id' => auth()->user()->character_id, 'permission' => $permission])->get(['permission']);
if(!isset($check[0]->permission)) {
return false;
} else {
return true;
}
}
private function CheckRole($role) {
$confirmed = false;
$ranking = [
'role.none' => 0,
'role.guest' => 1,
'role.user' => 2,
'role.director' => 3,
'role.admin' => 4,
];
//Using eloquent let's get the roles for the character
$check = UserPermission::where('character_id', auth()->user()->character_id)->get(['permission']);
if(!isset($check[0]->role)) {
abort(403, "You don't have permissions to access this area!");
}
if($ranking[$check[0]->role] === $ranking[$role]) {
$confirmed = true;
}
if($ranking[$check[0]->role] >= $ranking[$role]) {
$confirmed = true;
}
return $confirmed;
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace App\Models\Admin;
use Illuminate\Database\Eloquent\Model;
class AllowedLogin extends Model
{
// Table Name
public $table = 'allowed_login';
// Timestamps
public $timestamps = true;
/**
* The attributes that are mass assignable
*
* @var array
*/
protected $fillable = [
'entity_id',
'entity_type',
];
}

View File

@@ -0,0 +1,35 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateAllowedLoginsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
if(!Schema::hasTable('allowed_logins')) {
Schema::create('allowed_logins', function(Blueprint $table) {
$table->increments('id');
$table->string('entity_id');
$table->string('entity_type');
$table->timestamps();
});
}
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('allowed_logins');
}
}

View File

@@ -9,8 +9,8 @@ return array(
'App\\Console\\Commands\\CalculateMarketTax' => $baseDir . '/app/Console/Commands/calculatemarkettax.php',
'App\\Console\\Commands\\CorpJournal' => $baseDir . '/app/Console/Commands/corpJournal.php',
'App\\Console\\Commands\\DumpFleets' => $baseDir . '/app/Console/Commands/dumpFleets.php',
'App\\Console\\Commands\\GetCorps' => $baseDir . '/app/Console/Commands/GetCorps.php',
'App\\Console\\Commands\\GetLogisticsContracts' => $baseDir . '/app/Console/Commands/GetLogisticContracts.php',
'App\\Console\\Commands\\GetCorps' => $baseDir . '/app/Console/Commands/getCorps.php',
'App\\Console\\Commands\\GetLogisticsContracts' => $baseDir . '/app/Console/Commands/getLogisticContracts.php',
'App\\Console\\Commands\\SendMail' => $baseDir . '/app/Console/Commands/sendmail.php',
'App\\Console\\Commands\\UpdateMoonPricing' => $baseDir . '/app/Console/Commands/UpdateMoonPricing.php',
'App\\Console\\Commands\\holdingfinances' => $baseDir . '/app/Console/Commands/holdingfinances.php',
@@ -55,6 +55,8 @@ return array(
'App\\Library\\Finances\\Helper\\FinanceHelper' => $baseDir . '/app/Library/Finances/Helper/FinanceHelper.php',
'App\\Library\\Finances\\JumpBridgeTax' => $baseDir . '/app/Library/Finances/JumpBridgeTax.php',
'App\\Library\\Finances\\MarketTax' => $baseDir . '/app/Library/Finances/MarketTax.php',
'App\\Library\\Finances\\OfficeFee' => $baseDir . '/app/Library/Finances/OfficeFee.php',
'App\\Library\\Finances\\PlanetProductionTax' => $baseDir . '/app/Library/Finances/PlanetProductionTax.php',
'App\\Library\\Finances\\PlayerDonation' => $baseDir . '/app/Library/Finances/PlayerDonation.php',
'App\\Library\\Finances\\ReprocessingTax' => $baseDir . '/app/Library/Finances/ReprocessingTax.php',
'App\\Library\\Finances\\StructureIndustryTax' => $baseDir . '/app/Library/Finances/StructureIndustryTax.php',
@@ -79,6 +81,8 @@ return array(
'App\\Models\\Esi\\EsiToken' => $baseDir . '/app/Models/Esi/EsiToken.php',
'App\\Models\\Finances\\CorpMarketJournal' => $baseDir . '/app/Models/Finances/CorpMarketJournal.php',
'App\\Models\\Finances\\JumpBridgeJournal' => $baseDir . '/app/Models/Finances/JumpBridgeJournal.php',
'App\\Models\\Finances\\OfficeFeesJournal' => $baseDir . '/app/Models/Finances/OfficeFeesJournal.php',
'App\\Models\\Finances\\PlanetProductionTaxJournal' => $baseDir . '/app/Models/Finances/PlanetProductionTaxJournal.php',
'App\\Models\\Finances\\PlayerDonationJournal' => $baseDir . '/app/Models/Finances/PlayerDonationJournal.php',
'App\\Models\\Finances\\ReprocessingTaxJournal' => $baseDir . '/app/Models/Finances/ReprocessingTaxJournal.php',
'App\\Models\\Finances\\StructureIndustryTaxJournal' => $baseDir . '/app/Models/Finances/StructureIndustryTaxJournal.php',
@@ -97,8 +101,6 @@ return array(
'App\\Models\\User\\UserPermission' => $baseDir . '/app/Models/User/UserPermission.php',
'App\\Models\\User\\UserRole' => $baseDir . '/app/Models/User/UserRole.php',
'App\\Models\\User\\UserToCorporation' => $baseDir . '/app/Models/User/UserToCorporation.php',
'App\\OfficeFeesJournal' => $baseDir . '/app/OfficeFeesJournal.php',
'App\\PlanetProductionTaxJournal' => $baseDir . '/app/PlanetProductionTaxJournal.php',
'App\\Providers\\AppServiceProvider' => $baseDir . '/app/Providers/AppServiceProvider.php',
'App\\Providers\\AuthServiceProvider' => $baseDir . '/app/Providers/AuthServiceProvider.php',
'App\\Providers\\BroadcastServiceProvider' => $baseDir . '/app/Providers/BroadcastServiceProvider.php',

View File

@@ -463,8 +463,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Console\\Commands\\CalculateMarketTax' => __DIR__ . '/../..' . '/app/Console/Commands/calculatemarkettax.php',
'App\\Console\\Commands\\CorpJournal' => __DIR__ . '/../..' . '/app/Console/Commands/corpJournal.php',
'App\\Console\\Commands\\DumpFleets' => __DIR__ . '/../..' . '/app/Console/Commands/dumpFleets.php',
'App\\Console\\Commands\\GetCorps' => __DIR__ . '/../..' . '/app/Console/Commands/GetCorps.php',
'App\\Console\\Commands\\GetLogisticsContracts' => __DIR__ . '/../..' . '/app/Console/Commands/GetLogisticContracts.php',
'App\\Console\\Commands\\GetCorps' => __DIR__ . '/../..' . '/app/Console/Commands/getCorps.php',
'App\\Console\\Commands\\GetLogisticsContracts' => __DIR__ . '/../..' . '/app/Console/Commands/getLogisticContracts.php',
'App\\Console\\Commands\\SendMail' => __DIR__ . '/../..' . '/app/Console/Commands/sendmail.php',
'App\\Console\\Commands\\UpdateMoonPricing' => __DIR__ . '/../..' . '/app/Console/Commands/UpdateMoonPricing.php',
'App\\Console\\Commands\\holdingfinances' => __DIR__ . '/../..' . '/app/Console/Commands/holdingfinances.php',
@@ -509,6 +509,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Library\\Finances\\Helper\\FinanceHelper' => __DIR__ . '/../..' . '/app/Library/Finances/Helper/FinanceHelper.php',
'App\\Library\\Finances\\JumpBridgeTax' => __DIR__ . '/../..' . '/app/Library/Finances/JumpBridgeTax.php',
'App\\Library\\Finances\\MarketTax' => __DIR__ . '/../..' . '/app/Library/Finances/MarketTax.php',
'App\\Library\\Finances\\OfficeFee' => __DIR__ . '/../..' . '/app/Library/Finances/OfficeFee.php',
'App\\Library\\Finances\\PlanetProductionTax' => __DIR__ . '/../..' . '/app/Library/Finances/PlanetProductionTax.php',
'App\\Library\\Finances\\PlayerDonation' => __DIR__ . '/../..' . '/app/Library/Finances/PlayerDonation.php',
'App\\Library\\Finances\\ReprocessingTax' => __DIR__ . '/../..' . '/app/Library/Finances/ReprocessingTax.php',
'App\\Library\\Finances\\StructureIndustryTax' => __DIR__ . '/../..' . '/app/Library/Finances/StructureIndustryTax.php',
@@ -533,6 +535,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Models\\Esi\\EsiToken' => __DIR__ . '/../..' . '/app/Models/Esi/EsiToken.php',
'App\\Models\\Finances\\CorpMarketJournal' => __DIR__ . '/../..' . '/app/Models/Finances/CorpMarketJournal.php',
'App\\Models\\Finances\\JumpBridgeJournal' => __DIR__ . '/../..' . '/app/Models/Finances/JumpBridgeJournal.php',
'App\\Models\\Finances\\OfficeFeesJournal' => __DIR__ . '/../..' . '/app/Models/Finances/OfficeFeesJournal.php',
'App\\Models\\Finances\\PlanetProductionTaxJournal' => __DIR__ . '/../..' . '/app/Models/Finances/PlanetProductionTaxJournal.php',
'App\\Models\\Finances\\PlayerDonationJournal' => __DIR__ . '/../..' . '/app/Models/Finances/PlayerDonationJournal.php',
'App\\Models\\Finances\\ReprocessingTaxJournal' => __DIR__ . '/../..' . '/app/Models/Finances/ReprocessingTaxJournal.php',
'App\\Models\\Finances\\StructureIndustryTaxJournal' => __DIR__ . '/../..' . '/app/Models/Finances/StructureIndustryTaxJournal.php',
@@ -551,8 +555,6 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
'App\\Models\\User\\UserPermission' => __DIR__ . '/../..' . '/app/Models/User/UserPermission.php',
'App\\Models\\User\\UserRole' => __DIR__ . '/../..' . '/app/Models/User/UserRole.php',
'App\\Models\\User\\UserToCorporation' => __DIR__ . '/../..' . '/app/Models/User/UserToCorporation.php',
'App\\OfficeFeesJournal' => __DIR__ . '/../..' . '/app/OfficeFeesJournal.php',
'App\\PlanetProductionTaxJournal' => __DIR__ . '/../..' . '/app/PlanetProductionTaxJournal.php',
'App\\Providers\\AppServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AppServiceProvider.php',
'App\\Providers\\AuthServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AuthServiceProvider.php',
'App\\Providers\\BroadcastServiceProvider' => __DIR__ . '/../..' . '/app/Providers/BroadcastServiceProvider.php',