Compare commits

...

4 Commits
master ... sit

Author SHA1 Message Date
Daeng Deni Mardaeni
90cd2847a5 update auth usermanager 2023-10-30 16:56:43 +07:00
Daeng Deni Mardaeni
0b97350ca5 update seedr usermanager add direktorat and subdirektorat 2023-08-31 15:02:08 +07:00
375463fc77 udpate seeder 2023-08-10 22:33:52 +07:00
a30879a337 update release for sit 2023-08-10 21:26:56 +07:00
10 changed files with 131 additions and 71 deletions

View File

@ -18,6 +18,8 @@
$table->string('email')->unique(); $table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable(); $table->timestamp('email_verified_at')->nullable();
$table->string('password'); $table->string('password');
$table->foreignId('directorat_id')->nullable();
$table->foreignId('sub_directorat_id')->nullable();
$table->rememberToken(); $table->rememberToken();
$table->timestamps(); $table->timestamps();
$table->softDeletes(); $table->softDeletes();

View File

@ -28,7 +28,12 @@
return [ return [
['name' => 'User'], ['name' => 'User'],
['name' => 'Role'], ['name' => 'Role'],
['name' => 'Permission'] ['name' => 'Permission'],
['name' => 'system'],
['name' => 'master'],
['name' => 'document'],
['name' => 'setting'],
['name' => 'logs']
]; ];
} }
} }

View File

@ -17,7 +17,7 @@
{ {
//app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions(); //app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions();
$data = $this->data(); /*$data = $this->data();
foreach ($data as $value) { foreach ($data as $value) {
$permission = Permission::updateOrCreate([ $permission = Permission::updateOrCreate([
@ -27,7 +27,7 @@
'permission_group_id' => $value['group'] 'permission_group_id' => $value['group']
]); ]);
$roles = Role::all(); $roles = Role::all();
foreach ($roles as $role) { foreach ($roles as $role) {
if ($role->name == 'administrator') { if ($role->name == 'administrator') {
$role->givePermissionTo($permission); $role->givePermissionTo($permission);
@ -37,22 +37,49 @@
} }
} }
} }
}*/
$roles = Role::all();
foreach ($roles as $role) {
$data = $this->data($role->name);
foreach ($data as $value) {
$permission = Permission::updateOrCreate([
'name' => $value['name'],
'guard_name' => 'web' // or 'api
], [
'permission_group_id' => $value['group']
]);
if($role->name=='ad' && explode('.',$value['name'])[0]=='document'){
if($permission->name=='document.read'){
$role->givePermissionTo($permission);
}
} else{
$role->givePermissionTo($permission);
}
}
} }
} }
public function data() public function data($role)
{ {
$data = []; $data = [];
$model = [];
// list of model permission // list of model permission
$model = ['user', 'role', 'permission']; if ($role == 'administrator') {
$model = [['id' => 1, 'name' => 'user'], ['id' => 2, 'name' => 'role'], ['id' => 3, 'name' => 'permission'], ['id' => 4, 'name' => 'system'], ['id' => 5, 'name' => 'master'], ['id' => 6, 'name' => 'document'], ['id' => 7, 'name' => 'setting'], ['id' => 8, 'name' => 'logs']];
} elseif($role == 'ad'){
$model = [['id' => 4, 'name' => 'system'], ['id' => 6, 'name' => 'document'], ['id' => 7, 'name' => 'setting'], ['id' => 8, 'name' => 'logs']];
} elseif($role == 'dd'){
$model = [['id' => 4, 'name' => 'system'], ['id' => 5, 'name' => 'master'], ['id' => 6, 'name' => 'document'], ['id' => 7, 'name' => 'setting']];
} elseif($role == 'eo'){
$model = [['id' => 6, 'name' => 'document']];
}
$i = 1;
foreach ($model as $value) { foreach ($model as $value) {
foreach ($this->crudActions($value) as $action) { foreach ($this->crudActions($value['name']) as $action) {
$data[] = ['name' => $action, 'group' => $i]; $data[] = ['name' => $action, 'group' => $value['id']];
} }
$i++;
} }
return $data; return $data;
@ -62,7 +89,7 @@
{ {
$actions = []; $actions = [];
// list of permission actions // list of permission actions
$crud = ['create', 'read', 'update', 'delete']; $crud = ['create', 'read', 'update', 'delete','authorize','report'];
foreach ($crud as $value) { foreach ($crud as $value) {
$actions[] = $name . '.' . $value; $actions[] = $name . '.' . $value;

View File

@ -27,7 +27,11 @@
{ {
return [ return [
['name' => 'administrator'], ['name' => 'administrator'],
['name' => 'user'], ['name' => 'ad'],
['name' => 'dd'],
['name' => 'eo'],
['name' => 'siskon'],
['name' => 'siskon_otorisator']
]; ];
} }
} }

View File

@ -17,24 +17,56 @@
*/ */
public function run(Generator $faker) public function run(Generator $faker)
{ {
$roleAdmin = Role::find(1); $roles = Role::all();
$roleUser = Role::find(2);
$user = User::create([ foreach ($roles as $role) {
'name' => $faker->name, if ($role->name == 'administrator') {
'email' => 'demo@demo.com', $admin = User::create([//ad dd ao
'password' => Hash::make('demo'), 'name' => $faker->name,
'email_verified_at' => now(), 'email' => 'admin@demo.com',
]); 'password' => Hash::make('demo'),
'email_verified_at' => now(),
'directorat_id' => '1',
'sub_directorat_id' => '1',
]);
$admin->assignRole($role);
}
$admin = User::create([ if ($role->name == 'ad') {
'name' => $faker->name, $admin = User::create([//ad dd ao
'email' => 'admin@demo.com', 'name' => "Associate Director",
'password' => Hash::make('demo'), 'email' => '230700',
'email_verified_at' => now(), 'password' => Hash::make('bagbag'),
]); 'email_verified_at' => now(),
'directorat_id' => '1',
'sub_directorat_id' => '1',
]);
$admin->assignRole($role);
}
$admin->assignRole($roleAdmin,); if ($role->name == 'dd') {
$user->assignRole($roleUser); $admin = User::create([//ad dd ao
'name' => "Deputy Director",
'email' => '230701',
'password' => Hash::make('bagbag'),
'email_verified_at' => now(),
'directorat_id' => '1',
'sub_directorat_id' => '1',
]);
$admin->assignRole($role);
}
if ($role->name == 'eo') {
$admin = User::create([//ad dd ao
'name' => "Executive Officer",
'email' => '230702',
'password' => Hash::make('bagbag'),
'email_verified_at' => now(),
'directorat_id' => '1',
'sub_directorat_id' => '1',
]);
$admin->assignRole($role);
}
}
} }
} }

View File

@ -45,4 +45,5 @@
protected $casts = [ protected $casts = [
'email_verified_at' => 'datetime', 'email_verified_at' => 'datetime',
]; ];
} }

View File

@ -6,6 +6,8 @@
use App\Providers\RouteServiceProvider; use App\Providers\RouteServiceProvider;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Modules\Usermanager\Entities\User;
use Modules\Usermanager\Http\Requests\LoginRequest; use Modules\Usermanager\Http\Requests\LoginRequest;
class AuthenticatedSessionController extends Controller class AuthenticatedSessionController extends Controller
@ -38,7 +40,6 @@
$userData = verify_user($id, $passwd, $SERVER_ADDR, $IPUserManager, $portUserManager, $appId); $userData = verify_user($id, $passwd, $SERVER_ADDR, $IPUserManager, $portUserManager, $appId);
if (strlen($userData) > 1) { if (strlen($userData) > 1) {
$userRawArray = explode("\t", $userData); $userRawArray = explode("\t", $userData);
foreach ($userRawArray as $rkey => $rval) { foreach ($userRawArray as $rkey => $rval) {
@ -46,12 +47,22 @@
$userArray[0][$key] = $val; $userArray[0][$key] = $val;
} }
$user = User::where('user_id', '=', $request->email)->first(); $credentials = $request->validate([
'email' => ['required'],
'password' => ['required'],
]);
$user = "";
if (Auth::attempt($credentials)) {
$user = User::where(['email' => $request->email])->first();
}
if (!$user) { if (!$user) {
$user = User::create([ $user = User::updateOrCreate([
'name' => $userArray[0]['NAMA_USER'], 'email' => $userArray[0]['KD_USER'],
'user_id' => $userArray[0]['KD_USER'] ], [
'name' => $userArray[0]['NAMA_USER'],
'password' => Hash::make($request->password)
]); ]);
switch ($userArray[0]['KD_GROUP']) { switch ($userArray[0]['KD_GROUP']) {
@ -59,10 +70,19 @@
$user->assignRole('administrator'); $user->assignRole('administrator');
break; break;
case '007' : case '007' :
$user->assignRole('operator'); $user->assignRole('eo');
break; break;
case '008' : case '008' :
$user->assignRole('otorisator'); $user->assignRole('dd');
break;
case '401' :
$user->assignRole('ad');
break;
case '018' :
$user->assignRole('siskon');
break;
case '019' :
$user->assignRole('siskon_otorisator');
break; break;
default : default :
$user->assignRole('user'); $user->assignRole('user');
@ -107,7 +127,6 @@
Auth::guard('web')->logout(); Auth::guard('web')->logout();
$request->session()->invalidate(); $request->session()->invalidate();
$request->session()->regenerateToken(); $request->session()->regenerateToken();
return redirect('/'); return redirect('/');

View File

@ -29,7 +29,7 @@
public function rules() public function rules()
{ {
return [ return [
'email' => ['required', 'string', 'email'], 'email' => ['required', 'string'],
'password' => ['required', 'string'], 'password' => ['required', 'string'],
]; ];
} }

View File

@ -5,17 +5,14 @@
@csrf @csrf
<!--begin::Heading--> <!--begin::Heading-->
<div class="text-center mb-11"> <div class="text-center mb-11">
<img alt="Logo" src="{{ image('logos/logo_agi.png') }}" class="h-150px app-sidebar-logo-default" style="margin-bottom: 100px;" />
<!--begin::Title--> <!--begin::Title-->
<h1 class="text-dark fw-bolder mb-3"> <h1 class="text-dark fw-bolder mb-3">
Sign In Sign In
</h1> </h1>
<!--end::Title--> <!--end::Title-->
<!--begin::Subtitle-->
<div class="text-gray-500 fw-semibold fs-6">
Your Social Campaigns
</div>
<!--end::Subtitle--->
</div> </div>
<!--begin::Heading--> <!--begin::Heading-->
@ -34,18 +31,6 @@
</div> </div>
<!--end::Input group---> <!--end::Input group--->
<!--begin::Wrapper-->
<div class="d-flex flex-stack flex-wrap gap-3 fs-base fw-semibold mb-8">
<div></div>
<!--begin::Link-->
<a href="/forgot-password" class="link-primary">
Forgot Password ?
</a>
<!--end::Link-->
</div>
<!--end::Wrapper-->
<!--begin::Submit button--> <!--begin::Submit button-->
<div class="d-grid mb-10"> <div class="d-grid mb-10">
<button type="submit" id="kt_sign_in_submit" class="btn btn-primary"> <button type="submit" id="kt_sign_in_submit" class="btn btn-primary">
@ -53,16 +38,6 @@
</button> </button>
</div> </div>
<!--end::Submit button--> <!--end::Submit button-->
<!--begin::Sign up-->
<div class="text-gray-500 text-center fw-semibold fs-6">
Not a Member yet?
<a href="/register" class="link-primary">
Sign up
</a>
</div>
<!--end::Sign up-->
</form> </form>
<!--end::Form--> <!--end::Form-->

View File

@ -19,17 +19,12 @@
Route::get('login', [AuthenticatedSessionController::class, 'create']) Route::get('login', [AuthenticatedSessionController::class, 'create'])
->name('login'); ->name('login');
if (isset($_ENV['METHOD_AUTH'])) { if($_ENV['METHOD_AUTH']=='usermanager'){
if ($_ENV['METHOD_AUTH'] == 'usermanager') { Route::post('login', [AuthenticatedSessionController::class, 'storeUsermanager']);
Route::post('login', [AuthenticatedSessionController::class, 'storeUserManager']); }else {
}else {
Route::post('login', [AuthenticatedSessionController::class, 'store']);
}
} else {
Route::post('login', [AuthenticatedSessionController::class, 'store']); Route::post('login', [AuthenticatedSessionController::class, 'store']);
} }
Route::get('forgot-password', [PasswordResetLinkController::class, 'create']) Route::get('forgot-password', [PasswordResetLinkController::class, 'create'])
->name('password.request'); ->name('password.request');