需要使用laravel搭建一个后台内容管理系统,但是laravel默认的登陆注册不能满足目前的需求
注册的话因为是用在后台,并且不需要使用邮箱注册的,而且会有一些额外的配置需要在注册时一起填写。
1. 首先确定用户注册的路由
我们在安装好laravel的时候默认生成的注册是用邮箱进行注册的,并且有些选项不需要,有些还需要加一些表单选项
我们注册的话,并不是可以随便注册的,只有一些超级管理员才能进行注册
首先我们使用上次创建的UserController
进行配置,如果没有的话,可以使用php artisan make:controller UserController
创建一个控制器类
然后创建两条路由Route::get('register', 'UserController@getRegister')
和Route::post('register', 'UserController@postRegister')
前者是显示一个注册的页面get请求,后面是注册账号的post请求。
2. 显示注册账号页面
这个使用的是getRegister
这个方法,这个方法只需要显示一个视图所以并没有特别的逻辑
public function getRegister()
{
return view('auth.register');
}
3. 请求注册账号
这个使用的是postRegister
这个方法
注册账号的话和重置密码一样,而且比注册账号还要简单点。
我们在往数据库里插入一条用户纪录的时候,可以使用User::create($data)
进行插入。$data
是个数组,里面存放了每个字段的键和值
public function postRegister(Request $request)
{
$rules = [
'username'=>'required|unique:finance_enewsuser',
'password' => 'required|between:6,20|confirmed'
];
$messages = [
'required'=>':attribute不能为空',
'unique'=>'用户名已被注册',
'between' => '密码必须是6~20位之间',
'confirmed' => '新密码和确认密码不匹配'
];
$username = $request->input('username');
$password = $request->input('password');
$group = $request->input('group');
$data = $request->all();
$validator = Validator::make($data, $rules, $messages);
if ($validator->fails()) {
return back()->withErrors($validator);
}
$data = [
'username' => $username,
'password' => bcrypt($password),
'groupid' => $group,
'checked' => 0,
'styleid' => 1,
'filelevel' => 0,