如何通过API Laravel处理用户注册

时间:2014-06-09 06:10:57

标签: authentication laravel-4

我正在阅读和观看有关Laravel中API开发的一些教程。我完全是API开发的新手,尽管我已经使用了Laravel。

在我完成的所有教程中,他们处理:登录,获取一些数据,更新信息,删除信息,甚至将一些信息插入数据库。

我的问题是这些教程都没有像用户注册那样处理。

Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'), function()
{
    Route::resource('users', 'UsersController');
    Route::resource('messages', 'MessagesController');
});

从上面的代码中,它假定用户必须先注册才能获得对auth.basic的控制器的访问权。

所以,我的问题是:我如何处理注册?因为似乎我不会将它与上面的代码分组。

1 个答案:

答案 0 :(得分:3)

您不能将注册路由放在具有auth.basic过滤器的路由组中。然后,只有登录的用户才能注册。

所以你应该建立新的注册路线:

// Opens view to register form
Route::get('register', array('as'=>'register', 'uses'=>'UserController@getRegister'));
// Handles registering
Route::post('register', array('uses'=>'UserController@postRegister'));

网址将变为:http://yourhost/register

或者,如果您仍想使用前缀,则可以分组:

Route::group(array('prefix'=>'api/v1'), function(){
  // Opens view to register form
  Route::get('register', array('as'=>'register', 'uses'=>'UserController@getRegister'));
  // Handles registration
  Route::post('register', array('uses'=>'UserController@postRegister'));
});

网址将变为:http://yourhost/api/v1/register

然后在getRegister()中创建postRegister()UserController方法:

<?php

class UserController extends BaseController{

 public function getRegister(){
   // Return register form
   return View::make('users.register');
 }

 public function postRegister(){
   // Validate post info and create users etc. 
 }

有很多教程可以帮助您在Laravel中进行用户注册,

http://code.tutsplus.com/tutorials/authentication-with-laravel-4--net-35593