Laravel 5.2在默认用户注册表单中添加隐藏值

时间:2016-05-08 14:26:59

标签: php forms laravel-5.2

我使用标准的Laravel 5.2身份验证。我已经实施了另一个注册表单/查看enter image description here 问题是:

如何在每个表单上添加一个隐藏的表单字段(例如role_id),以便在用户注册时自动获取角色... 现在写这篇文章的时候我认为这可能是一个安全问题...这是如何正确完成的?

3 个答案:

答案 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">