我的from odo import odo
odo('mssql+pyodbc://user:pass@mydsn::tablename','myfile.csv')
中有以下代码:
adminController
我有以下两个步骤来检查用户是否已登录,如果不是,那么他将被要求登录:
public function index() {
if (!(Auth::check())) {
return Redirect::to('login');
}
$tags = DB::table('Tags')->get();
/* convert Object to array */
$tagsArray = array();
foreach($tags as $tag) {
$tagsArray[$tag->tag] = $tag->tag;
}
$tagsArray = json_decode(json_encode($tagsArray) , TRUE);
return view('admin.index')->with('tags' , $tagsArray);
}
实际上我想将这两个步骤放到一个方法中,然后将该方法应用于if (!(Auth::check())) {
return Redirect::to('login');
}
中的所有其他方法,我该怎么做?
答案 0 :(得分:2)
您应该真正使用auth
或自定义中间件:
Route::resource('admin', 'adminController)->middleware('auth');
或使用middleware group:
Route::group(['middleware' => ['auth']], function () {
Route::resource('admin', 'adminController);
});
或定义middleware in a constructor:
public function __construct()
{
$this->middleware('auth');
}
答案 1 :(得分:1)
在方法中包装你想要的东西
public function authCheck() {
if (!(Auth::check())) {
return Redirect::to('login');
}
}
然后从其他方法称之为
public function someOtherMethod() {
$this->authCheck();
// your code....
}