NextJS为什么需要使用middleware而不是在layout做 Check Authentication

有在使用Nextjs 12 / 13的同学这教程真的是干货,必须看!主要是讲解middleware的作用,和有些页面可以避免dynamic render, 和介绍了Kinde Auth的使用

学习摘要

  • 通常check authentication都是在layout做,可是当PageA 跳去PageB static SSR page的时候没有进行checking!这教程解释了安全漏洞的原因和为什么需要用middleware
  • 在layout做checking会导致所有的page都是dynamic render, 如果使用middleware check可以把没有必要的页面进行static render从而提高render效率
  • middleware只是在page的层面做check auth,可是不包含component,如果有些component有安全考量的话, 需要在component内做check auth
  • 如果你的header menu是dyamic的话,会导致所有的页面都是dynamic render, 解决方法是可以把menu单独出来做client side render, 使用useKindeBrowserClient获取login user info , 这么做就可以避免所有的页面都dynamic render, 只有menu是dynamic render而已

Loading

Facebook评论