Alur Laravel
Alur Laravel
$roles = $this->CekRoute($request->route());
$req_cek=$request->user();
//dd($req_cek);
if ($req_cek!=null) {
if( $request->user()->hasRole($roles) || !$roles)
{
return $next($request);
}
}
$table->increments('id');
$table->string('name');
$table->string('description');
$table->timestamps();
11. Atur model role
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
<?php
namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Hash;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name',
'username',
'password',
'role_id',
'status',
'detail_id',
'pic',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
public function role()
{
return $this->belongsTo('App\Role','role_id');
}
if(is_array($roles)){
foreach($roles as $need_role){
if($this->cekUserRole($need_role)) {
return true;
}
}
} else{
return $this->cekUserRole($roles);
}
return false;
}
private function getUserRole()
{
return $this->role()->getResults();
}
}
public function data_tes()//menampilkan user dengan data tes yang diikuti
{
return $this->hasMany('App\peserta_tes');
}
}
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
Use Auth;
use Illuminate\Support\Facades\Hash;
class LoginController extends Controller
{
public function masuk(Request $request)
{
// request()->validate([
// 'g-recaptcha-response' => 'required|captcha',
// ]);
$request->validate([
'username'=>['required'],
'password'=>['required']
]);
$username=$request->get('username');
$password=$request->get('password');
$user_cek=User::where('username','=',$username)->count();
if ($user_cek==0) {
return redirect('/login')->with('gagal', 'username Anda Tidak Terdaf
tar');
}else{
$user=User::where('username','=',$username)->first();
$p_asli=$password;
$p_hash=$user->password;
//dd(Hash::check($p_asli, $p_hash));
$cek=Hash::check($p_asli, $p_hash);
if ($cek) {
Auth::guard('web')->loginUsingId($user->id);
//dd($role->role);
if ($user->role_id==1) {
return redirect('/admin')->with('success', 'Berhasil M
asuk');
}else if ($user->role_id==2) {
return redirect('/siswa')->with('success', 'Berhasil Mas
uk');
}else if ($user->role_id==3) {
return redirect('/pendaftar')->with('success', 'Berhasil
Masuk');
}else if ($user->role_id==4) {
return redirect('/guru')->with('success', 'Berhasil Masu
k');
}else if ($user->role_id==5) {
return redirect('/sarpras')->with('success', 'Berhasil M
asuk');
}else if ($user->role_id==6) {
return redirect('/perpustakaan')->with('success', 'Berha
sil Masuk');
}else if ($user->role_id==7) {
return redirect('/bendahara')->with('success', 'Berhasil
Masuk');
}else{
return redirect('/login')->with('gagal', 'Anda Buka Siap
a Siapa!');
}
}else{
return redirect('/login')->with('gagal', 'Password Anda Sala
h');
}
}
}
public function keluar()
{
if (Auth::guard('web')->check()) {
# code...
Auth::guard('web','roles')->logout();
return redirect('/login');
}else{
return redirect('/login');
}
}
}
14. Buat controller setiap user
#config/app.php
'providers' => [
...
Yajra\Datatables\DatatablesServiceProvider::class,
'aliases' => [
...
INSTAL QR
'providers' => [
....
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class,
],
'aliases' => [
....
],
Penggnaan di route
<?php
Route::get('qr-code-g', function () {
\QrCode::size(500)
->format('png')
->generate('ItSolutionStuff.com',
public_path('images/qrcode.png'));
return view('qrCode');
});
Penggunaan di Blade
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<p>example by ItSolutionStuf.com.</p>
</div>
</body>
</html>
'providers' => [
....
Maatwebsite\Excel\ExcelServiceProvider::class,
],
'aliases' => [
....
],
Query import
Query Import
Dokumentasi : https://morioh.com/p/b372edbd4284
Instalasi chat
'providers' => [
...,
Emotality\TawkTo\TawkToServiceProvider::class,
];
...
'aliases' => [
...,
'TawkTo' => Emotality\TawkTo\Facades\TawkTo::class,
];
Jalankan :
TAWKTO_API_KEY=54f52bfdf7bcaa72719c6b7