diff --git a/Database/Seeders/RolesSeeder.php b/Database/Seeders/RolesSeeder.php
index a53ef8d..4b6e4b4 100644
--- a/Database/Seeders/RolesSeeder.php
+++ b/Database/Seeders/RolesSeeder.php
@@ -28,6 +28,8 @@
return [
['name' => 'administrator'],
['name' => 'user'],
+ ['name' => 'otorisator'],
+ ['name' => 'operator'],
];
}
}
diff --git a/Entities/User.php b/Entities/User.php
index 337b394..72b7f58 100644
--- a/Entities/User.php
+++ b/Entities/User.php
@@ -24,6 +24,9 @@
protected $fillable = [
'name',
'email',
+ 'user_id',
+ 'directorat_id',
+ 'sub_directorat_id',
'password'
];
diff --git a/Http/Controllers/Auth/AuthenticatedSessionController.php b/Http/Controllers/Auth/AuthenticatedSessionController.php
index 04ac701..e9cade9 100644
--- a/Http/Controllers/Auth/AuthenticatedSessionController.php
+++ b/Http/Controllers/Auth/AuthenticatedSessionController.php
@@ -6,22 +6,11 @@
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.
*
@@ -38,6 +27,73 @@
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('user_id', '=', $request->email)->first();
+
+ if (!$user) {
+ $user = User::create([
+ 'name' => $userArray[0]['NAMA_USER'],
+ 'user_id' => $userArray[0]['KD_USER']
+ ]);
+
+ 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()
+ {
+ addJavascriptFile('assets/js/custom/authentication/sign-in/general.js');
+
+ if($_ENV['METHOD_AUTH'] == 'usermanager'){
+ return view('usermanager::auth.login-usermanager');
+ } else {
+ return view('usermanager::auth.login');
+ }
+ }
+
/**
* Destroy an authenticated session.
*
diff --git a/Resources/views/auth/login-usermanager.blade.php b/Resources/views/auth/login-usermanager.blade.php
new file mode 100644
index 0000000..056901e
--- /dev/null
+++ b/Resources/views/auth/login-usermanager.blade.php
@@ -0,0 +1,69 @@
+