php - 未经身份验证尝试访问后发送消息
问题描述
如果非身份验证用户尝试访问身份验证 URL,我正在尝试发送消息
protected function unauthenticated($request, AuthenticationException $exception)
{
return $request->expectsJson()
? response()->json(['message' => $exception->getMessage()], 401)
: redirect()->guest('/');
}
它重定向到/
登录,但我如何在/
页面中显示消息?
解决方案
使用会话。
在您的控制器中-
use Session;
protected function unauthenticated($request, AuthenticationException $exception)
{
Session::put('error_message','Please login to continue.');
return $request->expectsJson()
? response()->json(['message' => $exception->getMessage()], 401)
: redirect()->guest('/');
}
在您的刀片文件中-
@if(Session::has('error_message'))
<div class="alert alert-danger">{{ Session::get('error_message') }}</div>
@php
Session::forget('error_message');
@endphp
@endif
更新
仅当要进行重定向时才创建会话密钥。如果只需要 JSON,那么我们需要跳过会话部分。
protected function unauthenticated($request, AuthenticationException $exception)
{
if($request->expectsJson()){
return response()->json(['message' => $exception->getMessage()], 401);
}
Session::put('error_message','Please login to continue.');
return redirect()->guest('/');
}
推荐阅读
- ios - 如何在 iOS 13 Web 应用程序中禁用“阅读器视图”面板?
- firebase - 具有 val undefined 的 Firebase 函数
- javascript - 如何手动触发文件阅读器 onerror 事件?
- microsoft-graph-api - 是否可以查询 MS Graph 以获取包含组中成员数量的组列表?
- highcharts - 在 Highcharts 中添加第二个 x 轴
- elasticsearch - 弹性搜索 URI 搜索过滤
- java - 最高值回文
- c++ - 检测何时将任何应用程序窗口拖动到屏幕顶部
- jquery - 没有使用 if 语句添加类
- oracle - 在 Oracle 存储过程中使用模式定义类型的变量