Php Laravel Auth不工作,一切似乎都是正确的
下面是我的控制器代码Php Laravel Auth不工作,一切似乎都是正确的,php,laravel,laravel-4,Php,Laravel,Laravel 4,下面是我的控制器代码 if(Auth::attempt($userdata)){ //echo 'dfdf'; //exit; return Redirect::to('mydata'); } 如果我取消注释…它将显示dfdf,这意味着Auth很好。。正确的??这是我的routes.php代码 Route::get('mydata', function() { return View::make('mydata');})->before
if(Auth::attempt($userdata)){
//echo 'dfdf';
//exit;
return Redirect::to('mydata');
}
如果我取消注释…它将显示dfdf
,这意味着Auth很好。。正确的??这是我的routes.php代码
Route::get('mydata', function()
{
return View::make('mydata');})->before('auth');
即使这样也可以…如果我在('auth')之前删除->代码>来自routes.php
公共函数doLogin()
{
这意味着即使是路由器也没问题,对吧?
如果我在('auth')之前删除,
,则路由可以在不登录的情况下工作;
,这似乎连路由都可以,那么返回Redirect::to('mydata');
为什么不重定向?即使在身份验证之后,它也会在登录页面上阻塞…在注释后编辑:
在控制器中,将重定向更改为::预期的
:
if(Auth::attempt($userdata)){
return Redirect::intended('mydata');
}
从:
Redirect::designed
函数将用户重定向到他们想要的URL
在被身份验证捕获之前,正在尝试访问
如果
预定目的地不可用
API:
intended(string $default = '/', int $status = 302, array $headers = array(), bool $secure = null)
您不需要在('auth')之前将->添加到视图
调用中,因为只有当auth::trunt
返回true
时,您才会重定向到mydata
因此,请将您的路线改为:评论后编辑感谢胡安·安东尼奥·奥罗斯科指出这一不足
Route::get('mydata', array('before' => 'auth', function() {
return View::make('mydata');
});
另外,顺便说一句,在返回之后,不需要添加退出
,因为解释器已经用返回
命令离开了函数,所以它甚至不会被执行。您可以在这样的路由中使用auth filter
将“before”筛选器传递给路由属性并调用before()方法是相同的。ammm但是如果用户猜到路由的url是只供登录用户使用的,该页面应该受到保护,以防未经身份验证users@JuanAntonioOrozco谢谢你指指点点。你是对的!编辑了我的答案。如果你是下一个投票人,你能把它倒过来吗?@pc shooter是的,那它可以工作……但是如果我删除ebefore('auth');
让我更新我的问题。@pc shooter在('auth')之前不使用重定向到数据是没有用的;
在这种情况下,我甚至不必正确登录??
Route::get('mydata', array('before' => 'auth', function() {
return View::make('mydata');
});
Route::get('mydata', array('before' => 'auth', function()
{
return View::make('mydata');
}));