Laravel 7 - 临时用户
Laravel 7 - Temporary Users
我是 Laravel 的新人,所以我想知道是否有人可以告诉我实现临时用户的最佳方法。我尝试添加一个变量来为我带来 active 的值,然后尝试添加每个角色的条件,但它没有用。有人可以帮助我吗?
- 我的 LoginController 中有这个
public function login()
{
$credentials = $this->validate(request(), [
'email' => 'email|required|string',
'password' => 'required|string',
]);
if (Auth::attempt($credentials)) { //auth attemptdevuelve verdadero o falso en caso de que las credenciales correspondan o no
//Inician cambios RDAN
$user = Auth::user();
if ($user->hasRole('admin')) {
return redirect('main');
} else if ($user->hasRole('externo')) {
return redirect('es/user_form');
} else if ($user->hasRole('profesor')) {
return redirect('main');
} else if ($user->hasRole('registrador')) {
return redirect('select_lang');
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
//Terminan cambios RDAN
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
}
在 MySQL 数据库中,我在 table 'users' 中添加了 'tinyint(1)' 类型的 'active' 列。所以我想添加一个条件或一些东西来验证用户是活跃的(1)还是不活跃的(0)。我还想将它添加到用户 'admin' 可以使用复选框启用或禁用用户的视图中。
- 索引视图:
<td class="small text-center">
<div class="row">
<div>
<!--VIEW-->
<button onclick="verUsuario({{$user->id}})" class="btn btn-sm btn-outline-success m-1">
<i class="bi bi-eye align-content-center"></i>
</button>
</div>
<div>
<!--EDIT-->
<button onclick="editarUsuario({{$user->id}})" class="btn btn-sm btn-outline-warning m-1">
<i class="bi bi-pencil-fill align-content-center"></i>
</button>
</div>
<!--Delete-->
<form id="delete" action="{{url('Usuario/'.$user->id)}}" method="post">
{{csrf_field()}}
{{method_field('DELETE')}}
<button type="submit" onclick="return confirm('Va a borrar la usuario {{$user->name}} ¿está seguro?')" class="btn btn-sm btn-outline-danger m-1">
<i class="bi bi-trash-fill align-content-center"></i></button>
</form>
</div>
</td>
您可以再添加 1 个条件。
public function login()
{
$credentials = $this->validate(request(), [
'email' => 'email|required|string',
'password' => 'required|string',
]);
if (Auth::attempt($credentials)) { //auth attemptdevuelve verdadero o falso en caso de que las credenciales correspondan o no
//Inician cambios RDAN
$user = Auth::user();
if($user->active) // checking your user is active or not
{
if ($user->hasRole('admin')) {
return redirect('main');
} else if ($user->hasRole('externo')) {
return redirect('es/user_form');
} else if ($user->hasRole('profesor')) {
return redirect('main');
} else if ($user->hasRole('registrador')) {
return redirect('select_lang');
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
}
else
{
Auth::logout(); //to logout user
return back()->withErrors(['email' => 'Account Deactivated please contact admin'])->withInput(request(['email'])); // error message if user deactivated.
}
//Terminan cambios RDAN
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
}
来到问题的第二部分,您可以简单地调用 ajax 当复选框被选中或未被选中时。
我是 Laravel 的新人,所以我想知道是否有人可以告诉我实现临时用户的最佳方法。我尝试添加一个变量来为我带来 active 的值,然后尝试添加每个角色的条件,但它没有用。有人可以帮助我吗?
- 我的 LoginController 中有这个
public function login()
{
$credentials = $this->validate(request(), [
'email' => 'email|required|string',
'password' => 'required|string',
]);
if (Auth::attempt($credentials)) { //auth attemptdevuelve verdadero o falso en caso de que las credenciales correspondan o no
//Inician cambios RDAN
$user = Auth::user();
if ($user->hasRole('admin')) {
return redirect('main');
} else if ($user->hasRole('externo')) {
return redirect('es/user_form');
} else if ($user->hasRole('profesor')) {
return redirect('main');
} else if ($user->hasRole('registrador')) {
return redirect('select_lang');
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
//Terminan cambios RDAN
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
}
在 MySQL 数据库中,我在 table 'users' 中添加了 'tinyint(1)' 类型的 'active' 列。所以我想添加一个条件或一些东西来验证用户是活跃的(1)还是不活跃的(0)。我还想将它添加到用户 'admin' 可以使用复选框启用或禁用用户的视图中。
- 索引视图:
<td class="small text-center">
<div class="row">
<div>
<!--VIEW-->
<button onclick="verUsuario({{$user->id}})" class="btn btn-sm btn-outline-success m-1">
<i class="bi bi-eye align-content-center"></i>
</button>
</div>
<div>
<!--EDIT-->
<button onclick="editarUsuario({{$user->id}})" class="btn btn-sm btn-outline-warning m-1">
<i class="bi bi-pencil-fill align-content-center"></i>
</button>
</div>
<!--Delete-->
<form id="delete" action="{{url('Usuario/'.$user->id)}}" method="post">
{{csrf_field()}}
{{method_field('DELETE')}}
<button type="submit" onclick="return confirm('Va a borrar la usuario {{$user->name}} ¿está seguro?')" class="btn btn-sm btn-outline-danger m-1">
<i class="bi bi-trash-fill align-content-center"></i></button>
</form>
</div>
</td>
您可以再添加 1 个条件。
public function login()
{
$credentials = $this->validate(request(), [
'email' => 'email|required|string',
'password' => 'required|string',
]);
if (Auth::attempt($credentials)) { //auth attemptdevuelve verdadero o falso en caso de que las credenciales correspondan o no
//Inician cambios RDAN
$user = Auth::user();
if($user->active) // checking your user is active or not
{
if ($user->hasRole('admin')) {
return redirect('main');
} else if ($user->hasRole('externo')) {
return redirect('es/user_form');
} else if ($user->hasRole('profesor')) {
return redirect('main');
} else if ($user->hasRole('registrador')) {
return redirect('select_lang');
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
}
else
{
Auth::logout(); //to logout user
return back()->withErrors(['email' => 'Account Deactivated please contact admin'])->withInput(request(['email'])); // error message if user deactivated.
}
//Terminan cambios RDAN
} else {
return back()->withErrors(['email' => 'Incorrect user permissions'])
->withInput(request(['email']));
}
}
来到问题的第二部分,您可以简单地调用 ajax 当复选框被选中或未被选中时。