Laravel Web 和 Api 路由的身份验证问题
Laravel Auth Problem for Web and Api Routes
不幸的是,我无法找到一个用户案例的解决方案,这一定经常发生。
为了更好地描述它,我把我的 laravelapp 的路由结构(web 和 api)放在这里:
routes/web.php
get(start|products|product/{id}|contact|inprint|login|register)
get(checkout|checkout/(any))->middleware( auth ) // Checkout is a VUE App
routes/api.php
// only the Vue App use the api
get(user|user_orders|user_address) ->middleware( auth )
post (purchase_order) -> middleware(auth)
正如您可能看到的那样,我想保护网站的某些部分。此外,我想检查每个查询用户是否登录,以便在导航栏中显示注销按钮。
- 这甚至可以通过身份验证系统实现吗?
- 是否可以使用基于令牌 (JWT) 的身份验证系统保护网络路由?我一直以为没有。
感谢您的帮助!
你可以反过来。这将使您可以灵活地使用
在您的控制器中检查您的身份验证
Auth::check();
通过这些简单的步骤,您还可以在 API 路由中检查身份验证。因此,您也可以将 JWT 与身份验证网络路由集成在一起。
您只需添加
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
在您的 'API' 中间件组中
'api' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
\ existing code...
],
谢谢,
不幸的是,我无法找到一个用户案例的解决方案,这一定经常发生。
为了更好地描述它,我把我的 laravelapp 的路由结构(web 和 api)放在这里:
routes/web.php
get(start|products|product/{id}|contact|inprint|login|register)
get(checkout|checkout/(any))->middleware( auth ) // Checkout is a VUE App
routes/api.php
// only the Vue App use the api
get(user|user_orders|user_address) ->middleware( auth )
post (purchase_order) -> middleware(auth)
正如您可能看到的那样,我想保护网站的某些部分。此外,我想检查每个查询用户是否登录,以便在导航栏中显示注销按钮。
- 这甚至可以通过身份验证系统实现吗?
- 是否可以使用基于令牌 (JWT) 的身份验证系统保护网络路由?我一直以为没有。
感谢您的帮助!
你可以反过来。这将使您可以灵活地使用
在您的控制器中检查您的身份验证Auth::check();
通过这些简单的步骤,您还可以在 API 路由中检查身份验证。因此,您也可以将 JWT 与身份验证网络路由集成在一起。
您只需添加
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
在您的 'API' 中间件组中
'api' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
\ existing code...
],
谢谢,