国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

如果驗(yàn)證成功,則將NextJS重新導(dǎo)向從登入頁(yè)面跳到儀表板頁(yè)面
P粉021854777
P粉021854777 2023-08-13 10:56:17
0
1
913
<p>透過這個(gè)範(fàn)例,我可以讓nextjs重新導(dǎo)向到一個(gè)指定的頁(yè)面,例如登入頁(yè)面,如果有人沒有經(jīng)過驗(yàn)證。然而,我可以如何修改這個(gè),以便如果用戶經(jīng)過身份驗(yàn)證並且頁(yè)面是類似登錄頁(yè)面的,將他們重定向到儀表板或其他頁(yè)面?有一個(gè)配置可以實(shí)現(xiàn)嗎?像是<code>matcher</code>會(huì)很好地維護(hù)私人URL。但是對(duì)於我不希望用戶在登入狀態(tài)下存取的特定公開URL,我該如何解決這個(gè)問題?這種情況是否可能? </p> <pre class="brush:php;toolbar:false;">import { NextRequest, NextResponse } 從 'next/server' export async function middleware(req: NextRequest, res: NextResponse) { const token = req.headers.get('token') // TODO: 從請(qǐng)求頭取得令牌 const userIsAuthenticated = false // TODO: 檢查使用者是否經(jīng)過驗(yàn)證 console.log('middleware.ts', 'token', token); if (!userIsAuthenticated) { const signinUrl = new URL('/login', req.url) return NextResponse.redirect(signinUrl) } return NextResponse.next() } // 在這裡,您可以指定此中間件函數(shù)應(yīng)該運(yùn)行的所有路徑 // 支援單一字串值或匹配器數(shù)組 export const config = { matcher: ['/api/auth/:path*', '/'], }</pre>
P粉021854777
P粉021854777

全部回覆(1)
P粉986937457

假設(shè)您正在使用Next-Auth進(jìn)行身份驗(yàn)證:

使用withAuth包裝中間件,並使用Next-Auth提供的token變數(shù)驗(yàn)證會(huì)話,然後根據(jù)會(huì)話的有效性重定向到您想要的route。

這是一個(gè)可能有幫助的TS程式碼:

import { NextResponse } from 'next/server';
import { withAuth, NextRequestWithAuth } from 'next-auth/middleware';

export default withAuth(function middleware (request: NextRequestWithAuth) {
    const session = request?.nextauth?.token;

    if (request.nextUrl.pathname === '/') return NextResponse.next();
    if (!session && request.nextUrl.pathname !== '/login') 
        return NextResponse.redirect(new URL('/login', request.url));
    if (session && request.nextUrl.pathname !== '/dashboard')
        return NextResponse.redirect(new URL('/dashboard', request.url));

    return NextResponse.next();
},
{
    callbacks: {
        authorized: () => true,
    },
});

export const config = {
    matcher: [
        '/((?!api|_next/static|_next/image|favicon.ico).*)',
    ],
};
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板