为什么只让未登录用户访问注册页和只让未登录用户访问登陆页设置之后退出登录还可以访问任何页面?

file
file
file
访客不是没有登陆的人嘛?不是应该只能访问注册和登陆页?

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

访客也是可以访问别人的主页的,比如你微博没登录也可以看别人的微博和主页,就是不能评论,权限逻辑是按照常规思维来设计的,可能有些部分教材没有提及,但这些默认我们应该是明白的。

7年前 评论
讨论数量: 4

访客也是可以访问别人的主页的,比如你微博没登录也可以看别人的微博和主页,就是不能评论,权限逻辑是按照常规思维来设计的,可能有些部分教材没有提及,但这些默认我们应该是明白的。

7年前 评论

@LiCxi 明白了,我都忘记了是在做微博系统,还在一直想老师是不是写错了。 :joy:

7年前 评论

$this->middleware('guest', [
'only' => ['create']
]);

上面语句的意思是:只有 create 这个方法要求用户为未登录,其它方法(如 show)不要求;
你理解成:用户未登录时只能访问 create 这个方法。
二者有微妙区别

6年前 评论

@大风 我果然是理解错了,撸第二遍时自己掉进了这个理解的怪圈。

        $this->middleware('auth', [
            'except' => ['create', 'store', 'show']
        ]);

        $this->middleware('guest', [
            'only' => ['create']
        ]);

刚开始理解时,这个 show 方法在两个限制中就有冲突跟楼主想法一样了,翻源码也没看出啥。常规理解着重点是登陆或未登陆时限定行为(由外向里的方式去解读),而这个地方首先着重的是行为,在行为上限制是否登陆可操作(由里向外去解读)。
only 这里理解应该是「仅可」而不是 「仅仅只」。

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!