Laravel中具有多身份验证的身份验证

时间:2020-10-26 13:25:21

标签: php laravel authentication laravel-5 laravel-middleware

我正在学习laravel 5.4版。 我刚刚使用laravel和网站和管理面板制作了一个简单的博客文章应用程序

因此在导航栏中,常见于前端代码的代码如下所示

@if (Auth::guest())
    <li><a href="{{ route('login') }}">Login</a></li>
    <li><a href="{{ route('register') }}">Register</a></li>
@else
    <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
            {{ Auth::user()->vName }} <span class="caret"></span>
        </a>
    </li>

并在控制器中

class PostController extends Controller
{
    public function __construct()
    {
        //$this->middleware('auth:user'); << i also tried thi
        $this->middleware('auth:user')->except('index','show');
    }

所以问题是我想允许所有用户无需登录即可阅读博客文章 但是,如果我添加此中间件,则用户如果没有登录就无法访问该页面。

比我还尝试输入except()关键字。添加此功能后,它可以工作,但导航栏中存在问题,它仍然显示Login/Register而不是显示注销按钮和配置文件名称。

1 个答案:

答案 0 :(得分:0)

已更新:将控制器中间件重构为

$this->middleware('auth:web,user', ['except' => ['index', 'show']]);

并尝试注册一个新用户

相关问题