Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
34b6571469 | |||
ca9404581e | |||
f394980201 | |||
f016e408fa | |||
bc5037e4d4 |
@ -18,7 +18,7 @@
|
||||
|
||||
foreach ($data as $value) {
|
||||
PermissionGroup::updateOrCreate([
|
||||
'name' => $value['name']
|
||||
'name' => $value['name'],
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -22,22 +22,17 @@
|
||||
foreach ($data as $value) {
|
||||
$permission = Permission::updateOrCreate([
|
||||
'name' => $value['name'],
|
||||
'guard_name' => 'web' // or 'api
|
||||
], [
|
||||
'permission_group_id' => $value['group']
|
||||
'guard_name' => 'web'
|
||||
], [ // or 'api
|
||||
'permission_group_id' => $value['group']
|
||||
]);
|
||||
|
||||
$roles = Role::all();
|
||||
foreach ($roles as $role) {
|
||||
if ($role->name == 'administrator') {
|
||||
if ($role->name == 'super-administrator') {
|
||||
$role->givePermissionTo($permission);
|
||||
} else {
|
||||
if ($permission->name == 'user.read' || $permission->name == 'role.read' || $permission->name == 'permission.read') {
|
||||
$role->givePermissionTo($permission);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,8 +26,11 @@
|
||||
public function data()
|
||||
{
|
||||
return [
|
||||
['name' => 'super-administrator'],
|
||||
['name' => 'administrator'],
|
||||
['name' => 'user'],
|
||||
['name' => 'finance'],
|
||||
['name' => 'procurement'],
|
||||
['name' => 'sales'],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
namespace Modules\Usermanager\Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class UsermanagerDatabaseSeeder extends Seeder
|
||||
@ -14,8 +13,6 @@
|
||||
*/
|
||||
public function run()
|
||||
{
|
||||
Model::unguard();
|
||||
|
||||
$this->call([
|
||||
PermissionGroupSeeder::class,
|
||||
RolesSeeder::class,
|
@ -17,24 +17,17 @@
|
||||
*/
|
||||
public function run(Generator $faker)
|
||||
{
|
||||
$roleAdmin = Role::find(1);
|
||||
$roleUser = Role::find(2);
|
||||
$roles = Role::all();
|
||||
|
||||
$user = User::create([
|
||||
'name' => $faker->name,
|
||||
'email' => 'demo@demo.com',
|
||||
'password' => Hash::make('demo'),
|
||||
'email_verified_at' => now(),
|
||||
]);
|
||||
foreach ($roles as $role) {
|
||||
$user = User::create([
|
||||
'name' => $faker->name,
|
||||
'email' => $role->name.'@demo.com',
|
||||
'password' => Hash::make('demo'),
|
||||
'email_verified_at' => now(),
|
||||
]);
|
||||
|
||||
$admin = User::create([
|
||||
'name' => $faker->name,
|
||||
'email' => 'admin@demo.com',
|
||||
'password' => Hash::make('demo'),
|
||||
'email_verified_at' => now(),
|
||||
]);
|
||||
|
||||
$admin->assignRole($roleAdmin,);
|
||||
$user->assignRole($roleUser);
|
||||
$user->assignRole($role);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,11 +6,22 @@
|
||||
use App\Providers\RouteServiceProvider;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Modules\Usermanager\Entities\User;
|
||||
use Modules\Usermanager\Http\Requests\LoginRequest;
|
||||
|
||||
class AuthenticatedSessionController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display the login view.
|
||||
*
|
||||
* @return \Illuminate\View\View
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
addJavascriptFile('assets/js/custom/authentication/sign-in/general.js');
|
||||
|
||||
return view('usermanager::auth.login');
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle an incoming authentication request.
|
||||
*
|
||||
@ -27,83 +38,6 @@
|
||||
return redirect()->intended(RouteServiceProvider::HOME);
|
||||
}
|
||||
|
||||
public function storeUsermanager(Request $request)
|
||||
{
|
||||
|
||||
$userArray = [];
|
||||
$id = $request->email;
|
||||
$passwd = $request->password;
|
||||
$SERVER_ADDR = $request->ip();
|
||||
$IPUserManager = $_ENV['IP_USER_MANAGER'];
|
||||
$portUserManager = $_ENV['PORT_USER_MANAGER'];
|
||||
$appId = $_ENV['APP_ID'];
|
||||
|
||||
$userData = verify_user($id, $passwd, $SERVER_ADDR, $IPUserManager, $portUserManager, $appId);
|
||||
|
||||
if (strlen($userData) > 1) {
|
||||
$userRawArray = explode("\t", $userData);
|
||||
|
||||
foreach ($userRawArray as $rkey => $rval) {
|
||||
|
||||
[$key, $val] = explode('=', $rval);
|
||||
$userArray[0][$key] = $val;
|
||||
}
|
||||
|
||||
|
||||
|
||||
$user = User::where('email', '=', $request->email)->first();
|
||||
|
||||
if (!$user) {
|
||||
$user = User::create([
|
||||
'name' => $userArray[0]['NAMA_USER'],
|
||||
'user_id' => $userArray[0]['KD_USER'],
|
||||
'email' => $request->email,
|
||||
'password' => $request->password
|
||||
|
||||
|
||||
]);
|
||||
|
||||
switch ($userArray[0]['KD_GROUP']) {
|
||||
case '001' :
|
||||
$user->assignRole('administrator');
|
||||
break;
|
||||
case '007' :
|
||||
$user->assignRole('operator');
|
||||
break;
|
||||
case '008' :
|
||||
$user->assignRole('otorisator');
|
||||
break;
|
||||
default :
|
||||
$user->assignRole('user');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Auth::loginUsingId($user->id, true);
|
||||
|
||||
$request->session()->regenerate();
|
||||
}
|
||||
return redirect()->intended(RouteServiceProvider::HOME);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the login view.
|
||||
*
|
||||
* @return \Illuminate\View\View
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
if (isset($_ENV['METHOD_AUTH'])) {
|
||||
if ($_ENV['METHOD_AUTH'] == 'usermanager') {
|
||||
addJavascriptFile('assets/js/custom/authentication/sign-in/uim.js');
|
||||
return view('usermanager::auth.login-usermanager');
|
||||
} else {
|
||||
addJavascriptFile('assets/js/custom/authentication/sign-in/general.js');
|
||||
return view('usermanager::auth.login');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy an authenticated session.
|
||||
*
|
||||
@ -121,4 +55,4 @@
|
||||
|
||||
return redirect('/');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,69 +0,0 @@
|
||||
<x-auth-layout>
|
||||
|
||||
<!--begin::Form-->
|
||||
<form class="form w-100" novalidate="novalidate" id="kt_sign_in_form" data-kt-redirect-url="/" action="login">
|
||||
@csrf
|
||||
<!--begin::Heading-->
|
||||
<div class="text-center mb-11">
|
||||
<!--begin::Title-->
|
||||
<h1 class="text-dark fw-bolder mb-3">
|
||||
Sign In
|
||||
</h1>
|
||||
<!--end::Title-->
|
||||
|
||||
<!--begin::Subtitle-->
|
||||
<div class="text-gray-500 fw-semibold fs-6">
|
||||
Your Social Campaigns
|
||||
</div>
|
||||
<!--end::Subtitle--->
|
||||
</div>
|
||||
<!--begin::Heading-->
|
||||
|
||||
<!--begin::Input group--->
|
||||
<div class="fv-row mb-8">
|
||||
<!--begin::Email-->
|
||||
<input type="text" placeholder="User ID" name="email" autocomplete="off" class="form-control bg-transparent" value=""/>
|
||||
<!--end::Email-->
|
||||
</div>
|
||||
|
||||
<!--end::Input group--->
|
||||
<div class="fv-row mb-3">
|
||||
<!--begin::Password-->
|
||||
<input type="password" placeholder="Password" name="password" autocomplete="off" class="form-control bg-transparent" value=""/>
|
||||
<!--end::Password-->
|
||||
</div>
|
||||
<!--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-->
|
||||
<div class="d-grid mb-10">
|
||||
<button type="submit" id="kt_sign_in_submit" class="btn btn-primary">
|
||||
@include('partials/general/_button-indicator', ['label' => 'Sign In'])
|
||||
</button>
|
||||
</div>
|
||||
<!--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>
|
||||
<!--end::Form-->
|
||||
|
||||
</x-auth-layout>
|
@ -1,91 +0,0 @@
|
||||
<x-auth-layout>
|
||||
|
||||
<!--begin::Form-->
|
||||
<form class="form w-100" novalidate="novalidate" id="kt_sign_in_form" data-kt-redirect-url="/" action="login">
|
||||
@csrf
|
||||
<!--begin::Heading-->
|
||||
<div class="text-center mb-11">
|
||||
<!--begin::Title-->
|
||||
<h1 class="text-dark fw-bolder mb-3">
|
||||
Sign In
|
||||
</h1>
|
||||
<!--end::Title-->
|
||||
|
||||
<!--begin::Subtitle-->
|
||||
<div class="text-gray-500 fw-semibold fs-6">
|
||||
Aplikasi Konfirmasi Bank
|
||||
</div>
|
||||
<!--end::Subtitle--->
|
||||
</div>
|
||||
<!--begin::Heading-->
|
||||
|
||||
<!--begin::Login options-->
|
||||
<div class="row g-3 mb-9">
|
||||
<!--begin::Col-->
|
||||
<div class="col-md-12">
|
||||
<img class="d-none d-lg-block mx-auto w-150px w-md-50 w-xl-150px mb-10 mb-lg-10" src="{{ image('logos/logo_agi.png') }}" alt=""/>
|
||||
<!--begin::Google link--->
|
||||
{{-- <a href="#" class="btn btn-flex btn-outline btn-text-gray-700 btn-active-color-primary bg-state-light flex-center text-nowrap w-100">
|
||||
<img alt="Logo" src="{{ image('svg/brand-logos/google-icon.svg') }}" class="h-15px me-3"/>
|
||||
Sign in with Google
|
||||
</a> --}}
|
||||
<!--end::Google link--->
|
||||
</div>
|
||||
<!--end::Col-->
|
||||
|
||||
<!--begin::Col-->
|
||||
|
||||
<!--end::Col-->
|
||||
</div>
|
||||
<!--end::Login options-->
|
||||
|
||||
<!--end::Separator-->
|
||||
|
||||
<!--begin::Input group--->
|
||||
<div class="fv-row mb-8">
|
||||
<!--begin::Email-->
|
||||
<input type="text" placeholder="Email" name="email" autocomplete="off" class="form-control bg-transparent" value="demo@demo.com"/>
|
||||
<!--end::Email-->
|
||||
</div>
|
||||
|
||||
<!--end::Input group--->
|
||||
<div class="fv-row mb-3">
|
||||
<!--begin::Password-->
|
||||
<input type="password" placeholder="Password" name="password" autocomplete="off" class="form-control bg-transparent" value="demo"/>
|
||||
<!--end::Password-->
|
||||
</div>
|
||||
<!--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-->
|
||||
<div class="d-grid mb-10">
|
||||
<button type="submit" id="kt_sign_in_submit" class="btn btn-primary">
|
||||
@include('partials/general/_button-indicator', ['label' => 'Sign In'])
|
||||
</button>
|
||||
</div>
|
||||
<!--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>
|
||||
<!--end::Form-->
|
||||
|
||||
</x-auth-layout>
|
@ -13,7 +13,7 @@
|
||||
|
||||
<!--begin::Subtitle-->
|
||||
<div class="text-gray-500 fw-semibold fs-6">
|
||||
Aplikasi Konfirmasi Bank
|
||||
Your Social Campaigns
|
||||
</div>
|
||||
<!--end::Subtitle--->
|
||||
</div>
|
||||
@ -22,23 +22,34 @@
|
||||
<!--begin::Login options-->
|
||||
<div class="row g-3 mb-9">
|
||||
<!--begin::Col-->
|
||||
<div class="col-md-12">
|
||||
<img class="d-none d-lg-block mx-auto w-150px w-md-50 w-xl-150px mb-10 mb-lg-10" src="{{ image('logos/logo_agi.png') }}" alt=""/>
|
||||
<div class="col-md-6">
|
||||
<!--begin::Google link--->
|
||||
{{-- <a href="#" class="btn btn-flex btn-outline btn-text-gray-700 btn-active-color-primary bg-state-light flex-center text-nowrap w-100">
|
||||
<a href="#" class="btn btn-flex btn-outline btn-text-gray-700 btn-active-color-primary bg-state-light flex-center text-nowrap w-100">
|
||||
<img alt="Logo" src="{{ image('svg/brand-logos/google-icon.svg') }}" class="h-15px me-3"/>
|
||||
Sign in with Google
|
||||
</a> --}}
|
||||
</a>
|
||||
<!--end::Google link--->
|
||||
</div>
|
||||
<!--end::Col-->
|
||||
|
||||
<!--begin::Col-->
|
||||
|
||||
<div class="col-md-6">
|
||||
<!--begin::Google link--->
|
||||
<a href="#" class="btn btn-flex btn-outline btn-text-gray-700 btn-active-color-primary bg-state-light flex-center text-nowrap w-100">
|
||||
<img alt="Logo" src="{{ image('svg/brand-logos/apple-black.svg') }}" class="theme-light-show h-15px me-3"/>
|
||||
<img alt="Logo" src="{{ image('svg/brand-logos/apple-black-dark.svg') }}" class="theme-dark-show h-15px me-3"/>
|
||||
Sign in with Apple
|
||||
</a>
|
||||
<!--end::Google link--->
|
||||
</div>
|
||||
<!--end::Col-->
|
||||
</div>
|
||||
<!--end::Login options-->
|
||||
|
||||
<!--begin::Separator-->
|
||||
<div class="separator separator-content my-14">
|
||||
<span class="w-125px text-gray-500 fw-semibold fs-7">Or with email</span>
|
||||
</div>
|
||||
<!--end::Separator-->
|
||||
|
||||
<!--begin::Input group--->
|
||||
@ -61,9 +72,9 @@
|
||||
<div></div>
|
||||
|
||||
<!--begin::Link-->
|
||||
{{-- <a href="/forgot-password" class="link-primary">
|
||||
<a href="/forgot-password" class="link-primary">
|
||||
Forgot Password ?
|
||||
</a> --}}
|
||||
</a>
|
||||
<!--end::Link-->
|
||||
</div>
|
||||
<!--end::Wrapper-->
|
||||
@ -77,13 +88,13 @@
|
||||
<!--end::Submit button-->
|
||||
|
||||
<!--begin::Sign up-->
|
||||
{{-- <div class="text-gray-500 text-center fw-semibold fs-6">
|
||||
<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> --}}
|
||||
</div>
|
||||
<!--end::Sign up-->
|
||||
</form>
|
||||
<!--end::Form-->
|
||||
|
@ -23,7 +23,6 @@
|
||||
</div>
|
||||
<!--end:Menu item-->
|
||||
|
||||
@canany(['role.read','role.create','role.update','role.delete'])
|
||||
<!--begin:Menu item-->
|
||||
<div class="menu-item">
|
||||
<!--begin:Menu link-->
|
||||
@ -36,9 +35,7 @@
|
||||
<!--end:Menu link-->
|
||||
</div>
|
||||
<!--end:Menu item-->
|
||||
@endcanany
|
||||
|
||||
@canany(['permission.read','permission.create','permission.update','permission.delete'])
|
||||
<!--begin:Menu item-->
|
||||
<div class="menu-item">
|
||||
<!--begin:Menu link-->
|
||||
@ -51,7 +48,6 @@
|
||||
<!--end:Menu link-->
|
||||
</div>
|
||||
<!--end:Menu item-->
|
||||
@endcanany
|
||||
</div>
|
||||
<!--end:Menu sub-->
|
||||
</div>
|
||||
|
@ -79,7 +79,7 @@
|
||||
$("#role_" + _role).prop('checked', true);
|
||||
}
|
||||
|
||||
$('.form_{{$route[0].'_'.$route[1]}}').attr('action', '{{ URL::to('/'.$route[1].'/') }}/' + response.data.id).append('<input type="hidden" name="_method" value="PUT">');
|
||||
$('.form_{{$route[0].'_'.$route[1]}}').attr('action', '{{ URL::to('/'.$route[0].'/'.$route[1].'/') }}/' + response.data.id).append('<input type="hidden" name="_method" value="PUT">');
|
||||
$('#kt_modal_{{$route[0].'_'.$route[1]}}').modal('show');
|
||||
}
|
||||
})
|
||||
|
@ -19,16 +19,7 @@
|
||||
Route::get('login', [AuthenticatedSessionController::class, 'create'])
|
||||
->name('login');
|
||||
|
||||
if (isset($_ENV['METHOD_AUTH'])) {
|
||||
if ($_ENV['METHOD_AUTH'] == 'usermanager') {
|
||||
Route::post('login', [AuthenticatedSessionController::class, 'storeUserManager']);
|
||||
}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'])
|
||||
->name('password.request');
|
||||
|
Loading…
Reference in New Issue
Block a user