如何在同一页面中执行相同的登录和注册表单。喜欢pinterest.com 并在注册后立即登录用户。
我不知道如何进行手动身份验证,只知道默认Auth\AuthController
我有这个控制器,模型和视图..扔我错误
MethodNotAllowedHttpException in compiled.php line 7717:
型号:publish.php
class Publish extends Model implements AuthenticatableContract, CanResetPasswordContract{
//
use Authenticatable, CanResetPassword;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'user_profiles';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = ['email', 'password'];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = ['password', 'remember_token'];
}
controller:PublishController
use App\Http\Controllers\Controller;
use App\Publicar;
use Auth;
use Request;
class PublishController extends Controller {
public function index()
{
return view('partials.loginCreate', compact('publish'));
}
public function authenticate()
{
if (Auth::attempt(['email' => $email, 'password' => $password]))
{
return redirect()->intended('dashboard');
}
}
查看:login.blade.php
<form class="form-horizontal" role="form" method="POST" action="{{ url('/publish/authenticate') }}">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<div class="form-group">
<label class="col-md-4 control-label">E-Mail Address</label>
<div class="col-md-6">
<input type="email" class="form-control" name="email" value="{{ old('email') }}">
</div>
</div>
routes.php文件
Route::get('publish', 'PublishController@index');
Route::get('publish/authenticate', 'PublishController@authenticate');
Route::get('publishLogout', 'PublishController@destroy');
答案 0 :(得分:1)
从
更改路线Route::get('publish/authenticate', 'PublishController@authenticate');
到
Route::post('publish/authenticate', 'PublishController@authenticate');
因为您在调用authenticate方法时发布了一些数据,但是您选择的路由方法是get,因此您获得了MethodNotAllowed异常