我正在使用 entrust 包来管理角色,并且我使用通行证进行身份验证,因为它是 API 的。
其实我需要的是想检查用户有一个角色,
我试过下面的代码,但它不起作用
public function Adminlogin()
{
if(Auth::attempt(['email' => request('email'), 'password' => request('password')]))
{
$user = Auth::user();
if($user->hasRole('admin'));
{
$success['token'] = $user->createToken('MyApp')->accessToken;
return response()->json(['success' => $success], $this->successStatus);
}
return response()->json(['error'=>'Abort'], 403);
}
else
{
return response()->json(['error'=>'Unauthorised'], 401);
}
}
Run Code Online (Sandbox Code Playgroud)
我只想在用户具有管理员角色时生成访问令牌,如果用户没有管理员角色,则显示中止消息。
我目前正在使用 drupal 8,并且我已经使用表单 api 创建了表单,
Module目录下的以下代码
// module/src/Form/ContributeForm
class ContributeForm extends FormBase {
public function getFormId() {
return 'amazing_forms_contribute_form';
}
public function buildForm(array $form, FormStateInterface $form_state)
{
$form['title'] = array(
'#type' => 'textfield',
'#title' => t('Title'),
'#required' => TRUE,
);
$form['video'] = array(
'#type' => 'textfield',
'#title' => t('Youtube video'),
);
$form['video'] = array(
'#type' => 'textfield',
'#title' => t('Youtube video'),
);
$form['develop'] = array(
'#type' => 'checkbox',
'#title' => t('I would like to be involved in developing this
material'), …Run Code Online (Sandbox Code Playgroud)