当前位置: 首页 > news >正文

新余网站建设公司福州百度推广优化排名

新余网站建设公司,福州百度推广优化排名,专业做室内设计的网站有哪些方面,源码网站下载原文链接:https://www.jianshu.com/p/e131af68e6b3 1. 目的 本文来简单的讲解 laravel 中guard 用法&#xff0c;实现 admin 和 user 多表登陆&#xff08;只讲了登陆功能&#xff0c;其它的功能都一样&#xff0c;不多赘述&#xff09; 2. 配置 首先需要在 <code>aut…

原文链接:https://www.jianshu.com/p/e131af68e6b3

 

1. 目的

本文来简单的讲解 laravel 中guard 用法,实现 admin 和 user 多表登陆(只讲了登陆功能,其它的功能都一样,不多赘述)

2. 配置

首先需要在 <code>auth.php</code> 中配置 admin 的 <code>guards</code> 和 <code>providers</code>

什么是 guard 呢?在我看来它就像是部落,user 就像是部落的人,想找部落里的人就要指定部落,\Auth::guard('admin')->user(),不加guard默认取'web'部落中的人

    'guards' => ['web' => ['driver' => 'session','provider' => 'users',],'admin' => ['driver' => 'session','provider' => 'admins',],'api' => ['driver' => 'token','provider' => 'users',],],// providers 中的这个模型将使用默认的 Eloquent 认证来驱动。// 如果你的应用程序没有使用 Eloquent,请选择使用 Laravel 查询构造器的 database 认证驱动。'providers' => ['users' => ['driver' => 'eloquent','model' => App\User::class,],'admins' => ['driver' => 'eloquent','model' => App\Admin::class,],// 'users' => [//     'driver' => 'database',//     'table' => 'users',// ],],

3. 创建相关文件

  1. 首先 art make:auth 创建 laravel 自带的登陆界面,并且创建 Admin Model 及其迁移文件
art make:model Admin -m
  • 修改 Admin.php

      namespace App;use Illuminate\Notifications\Notifiable;use Illuminate\Foundation\Auth\User as Authenticatable;class Admin extends Authenticatable{use Notifiable;/*** The attributes that are mass assignable.** @var array*/protected $fillable = ['name', 'email', 'password',];/*** The attributes that should be hidden for arrays.** @var array*/protected $hidden = ['password', 'remember_token',];}
    
  • 修改 Admin 的迁移文件 ,后台采用 namepassword 验证,修改完成后 art migrate 生成数据表

   public function up(){Schema::create('admins', function (Blueprint $table) {$table->increments('id');$table->string('name')->unique();$table->string('password');$table->rememberToken();$table->timestamps();});
  • 视图 因为要实现前后台用户的不同登陆,所以首先需要 2 组视图界面
    • 复制 layouts 下面的 app.blade.php,改名为 admin.blade.php 并对该文件做出修改
    // 将路由指向 admin.login
    // 将 Auth::guest() 改为 Auth::guard('admin')->guest()
    <!-- Right Side Of Navbar -->
    

<ul class="nav navbar-nav navbar-right">

@if (Auth::guard('admin')->guest())
<li><a href="{{ route('admin.login') }}">Login</a></li>
{{-- <li><a href="{{ route('register') }}">Register</a></li> --}}
@else
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
{{ Auth::guard('admin')->user()->name }} <span class="caret"></span>
</a>

- 复制 __auth__ 下面的 `login.blade.php`  到  __views__ 文件夹下面的 __admin__ 文件夹(这个需要手动创建下)

// 将路由改为 admin.login
// 将 email 全部改为 name 因为本文后台登陆是用 name 和 password 登陆
<form class="form-horizontal" method="POST" action="{{ route('admin.login') }}">
{{ csrf_field() }}

<div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"><label for="name" class="col-md-4 control-label">AdminName</label><div class="col-md-6"><input id="name" type="name" class="form-control" name="name" value="{{ old('name') }}" required autofocus>@if ($errors->has('name'))<span class="help-block"><strong>{{ $errors->first('name') }}</strong></span>@endif</div>
</div>
- 复制 `home.blade.php` 到 __admin__ 下并且改名` index.blade.php` ,然后做出如下修改

<div class="panel-body text-success">
You are logged in, Admin!
</div>

- __控制器__- 复制 __Auth__ 下面的 `LoginController.php` 到 admin 文件夹下(手动创建),并且做出以下修改

// 登陆成功后的跳转页面
protected $redirectTo = '/admin/index';

/*** Create a new controller instance.** @return void*/
public function __construct()
{$this->middleware('guest')->except('logout');
}// 后台登陆页面
public function showLoginForm()
{return view('admin.login');
}// 指定 guard
protected function guard()
{return \Auth::guard('admin');
}// 将登陆验证的字段 email 改为 name
public function username()
{return 'name';
}
  - 将 `HomeController.php` 复制到 __admin__ 文件夹下,并且做出修改

// 只是简单的添加了登陆成功后跳转的视图路径
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}

/*** Show the application dashboard.** @return \Illuminate\Http\Response*/
public function index()
{return view('admin.index');
}

- 修改 __Middleware__ 中的 `RedirectIfAuthenticated.php`

// 因为前后台的控制器用的是 guest 中间件,所以这里需要做出判断,跳转不同页面
public function handle($request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
$url = $guard ? '/admin/index' : '/home';
return redirect($url);
}

    return $next($request);
}

#4. 生成测试数据- 用 __factory__ 生成一些后台测试用户,怎么生成就不说了,详见 [创建模型工厂](http://d.laravel-china.org/docs/5.4/database-testing#writing-factories)#5. 最后一步就是修改 __routes.php__ 文件啦
- 添加 __admin__ 路由

Route::group(['prefix'=>'admin'],function(){
Route::get('login', 'Admin\LoginController@showLoginForm')->name('admin.login');
Route::post('login', 'Admin\LoginController@login');
});


---------------# end  :)

 

http://www.yayakq.cn/news/189616/

相关文章:

  • 公司建设网站时的注意事项近期军事新闻
  • 怎么做网站盗号网站开发过程分为哪几个阶段
  • 惠州市seo网站设计玉溪做网站
  • 制作外贸网站成本32套网站后台管理系统模板
  • 茂名网站建设优化目前做win7系统最好的网站
  • 南京手机网站设计专业公司网站建设多少费用哪里济南兴田德润有活动吗
  • 网站建设中怎么添加源码织梦制作网站如何上线
  • 网站设计公司 南京网站类网站怎么做
  • 网站开发技术大学教材wordpress api开发文档
  • 晋城网站建设电话物流网个人网站建设
  • 河源市seo网站设计c2c商城网站建设公司
  • 阜宁做网站哪家最好西安网络推广外包公司
  • 网站建设兆金手指科杰平顶山车祸最新新闻事件
  • 嘉兴制作网站软件长泰微新闻
  • 快站淘客小程序开发定制北京公司
  • 建设网站商城国外点击链接推广平台
  • 企顺网网站建设做红木家具推广哪个网站比较好
  • 最成功的个人网站最火爆的网页游戏
  • 广州企业推广网站建设dede网站地图xml
  • 建站知识怎么制作网页教程步骤
  • 长春网站制作推广做网站怎么自定义背景图片
  • 怎么做盗版电影网站企业门户网站建设行情
  • 网站图表怎么做的做网站参考文献
  • 网站建设 wordpress系统越南注册公司需要什么条件
  • 官方网站平台下载大数据营销案例分析
  • 安庆专业做淘宝网站手机上page转换wordpress
  • 网站升级建设费用现在房地产的最新情况
  • 深圳深圳做网站怎么用自己的电脑做网站空间
  • iis 与 wordpress西安专业seo
  • 长安网站建设网络推广工业信息化部网站备案