User model getIsAdminAttribute()
https://www.youtube.com/watch?v=j97iBwTPlNE
https://stackoverflow.com/questions/58889575/laravel-5-8-authuser-is-not-using-user-model
public function getIsAdminAttribute() { return (bool) $this->admin; } Auth::user()->isAdmin or auth()->user()->isAdmin https://laracasts.com/discuss/channels/code-review/how-to-check-user-role-after-login
namespace App; use App\Role; use Illuminate\Database\Eloquent\Model; class User extends Model { public function getIsAdminAttribute() { return $this->roles->pluck( 'name' )->contains( 'admin' ); } public function roles() { // you will need a role model // Role::class is equivalent to string 'App\Role' return $this->belongsToMany( Role::class, 'users_role' ); } } ```LoginController``` namespace App\Http\Controllers; use Illuminate\Http\Request; use Auth; use Input; use Validator; use Redirect; class LoginController extends Controller { // public function login_post( Request $request ) { $data = Input::except( array( '_token' ) ); // var_dump($data); $rule = array( 'email' => 'required|email', 'password' => 'required', ); $validator = Validator::make( $data, $rule ); if ($validator->fails()) { // should do something } else { // no need to populate $data again with the same values // $data = Input::except( array( '_token' ) ); if (Auth::attempt( $data )) { // here i want to check logged in user role $user = Auth::user(); if ($user->roles->pluck( 'name' )->contains( 'admin' )) { return Redirect::to( '/admin-dashboard' ); } return Redirect::to( '/dashboard' ); } } } } https://laravel.
Error Additional dependencies must be installed. This will only take a moment. Running: npm install vue-template-compiler --save-dev --production=false https://qiita.com/ucan-lab/items/f5bcdfceecffb9def4c5
Use yarn, Not npm
yarn add vue-template-compiler --dev --production=false yarn run dev
https://www.youtube.com/watch?v=o0HoP7WzRf0
目錄裡面對應的檔案要先修改
=== 設定修改
[docker-compose]
docker-compose.yml ./backend 在執行docker-compose目錄下建立backend目錄,或者是移動位置
db-store 使用的是 volumes
[mysql]
infra/docker/mysql/Dockerfile
mysql user password root 等等自行變更,變更後要記得修改 infra/docker/php/Dockerfile
infra/docker/mysql/my.cnf
collation_server = utf8mb4_unicode_ci
[php]
infra/docker/php/Dockerfile 如果上面mysql設定有變更,記得這裡也要跟著變更
ENV TZ=Asia/Taipei
LANGUAGE=en_US:UTF-8
infra/docker/php/php.ini
mbstring.language = zh-tw
[nginx]
infra/docker/nginx/Dockerfile
ENV TZ=UTC+8
=== 指令開始執行
docker-compose up -d docker-compose exec app composer create-project --prefer-dist laravel/laravel . == jetstream Livewire !Now No Use
docker-compose exec app composer require laravel/jetstream docker-compose exec app php artisan jetstream:install livewire --teams docker-compose exec app php artisan migrate docker-compose exec web yarn install docker-compose exec web yarn dev == jetstream end
https://laravel.com/docs/8.x/authorization#via-blade-templates
https://laravel.com/docs/8.x/authorization
The gate methods for authorizing abilities (allows, denies, check, any, none, authorize, can, cannot) and the authorization Blade directives (@can, @cannot, @canany) can receive an array as the second argument. These array elements are passed as parameters to gate, and can be used for additional context when making authorization decisions
https://github.com/i-core/werther
https://segmentfault.com/a/1190000016179093