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

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

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

5年前 评论
讨论数量: 4

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

5年前 评论

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

5年前 评论

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

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

5年前 评论

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

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

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

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

5年前 评论

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