我使用标准的Laravel 5.2身份验证。我已经实施了另一个注册表单/查看 问题是:
如何在每个表单上添加一个隐藏的表单字段(例如role_id),以便在用户注册时自动获取角色... 现在写这篇文章的时候我认为这可能是一个安全问题...这是如何正确完成的?
答案 0 :(得分:2)
要在注册表单中添加字段,请先在注册视图中添加一个隐藏字段。
<div class="form-group">
<input type="hidden" name="role" class="form-control" value="customer">
</div>
在此后,您在$ fillable数组中指定了字段值,在这里我添加了role
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password','role',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
答案 1 :(得分:1)
如果任何注册者的角色相同,那么我建议您在创建用户时在控制器中执行此操作。
$user->you_role = your_value;
如果你需要在视图中,那么它应该如下:
<input type="hidden" name="role" value="your_value">
答案 2 :(得分:0)
如果您通过刀片使用role_id,则可以使用{{user-&gt; role_id}}
之类的内容<input type="hidden" name="role" value="role_id">