-1
我驗證我的用戶在下列方式acessing它
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;
use App\User;
use Session;
use Validator;
class CollectionloginController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
public function getIndex(){
return View('collectionmodule/login');
}
public function postCollectionlogin(){
$rules = array(
'email'=>'required',
'password'=>'required'
);
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
return redirect('collection/login')->withErrors($validator);
}else {
$cred = array(
'email' => Input::get('email'),
'password' => Input::get('password')
);
$role = User::where('email','=',Input::get('email'))->first();
if (Auth::attempt($cred) && $role->role == 'collector'){
if (Auth::check()){
Session::put('role','collector');
Session::put('name',Auth::user()->name);
return redirect('collection/home');
}
}
else{
Session::flush();
Auth::logout();
return redirect('collection/login')->with('login_errors',true);
}
}
}
}
之前如何驗證在Laravel 5類和我的路線是
//Collection started by vikram
Route::controller('collection/login','CollectionloginController');
Route::controller('collection/home','CollectionController');
Route::get('collection', function() {
return view('collectionmodule.login');
});
Route::get('collection/logout',function(){
Session::flush();
Auth::logout();
return Redirect::to('collection/target');
});
,且控制器
命名空間應用\ HTTP \控制器;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;
use App\User;
class CollectionController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
public function getIndex(){
$empid= Auth::user()->empid;
$invoice = Invoice::orderBy('Id', 'desc')->get();
return View('collectionmodule/home')->with(array('invoices'=>$invoice));
}
}
我的問題是如何訪問任何功能之前認證類collectionContorller
,就像如果通過身份驗證的用戶沒有收集器應該重定向到登錄頁面
我有其他類類似的麻煩也
一種方法我想通是這樣
public function __construct(){
if(Session::get('role')!="collector"){
$validotrs= "The User is not a collector";
return redirect('collection/login')->withErrors($validator);
}
}
任何一個可以幫助我
我有這樣幾個模塊一樣,銷售,管理員等等,因此每個我都必須創建一箇中間件,或者我可以創建一些常見的MiddleWare類並添加函數來過濾每個角色? ,就像我們用來做之前的過濾器 – Vikram
這絕對有可能,請看我的編輯。 – Tim
所以創建adynamic中間件我必須運行相同的工匠命令嗎? – Vikram