🐛 Add user authentication check in admin route to restrict access for non-superusers (#2145)
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import { useSuspenseQuery } from "@tanstack/react-query"
|
import { useSuspenseQuery } from "@tanstack/react-query"
|
||||||
import { createFileRoute } from "@tanstack/react-router"
|
import { createFileRoute, redirect } from "@tanstack/react-router"
|
||||||
import { Suspense } from "react"
|
import { Suspense } from "react"
|
||||||
|
|
||||||
import { type UserPublic, UsersService } from "@/client"
|
import { type UserPublic, UsersService } from "@/client"
|
||||||
@@ -18,6 +18,14 @@ function getUsersQueryOptions() {
|
|||||||
|
|
||||||
export const Route = createFileRoute("/_layout/admin")({
|
export const Route = createFileRoute("/_layout/admin")({
|
||||||
component: Admin,
|
component: Admin,
|
||||||
|
beforeLoad: async () => {
|
||||||
|
const user = await UsersService.readUserMe()
|
||||||
|
if (!user.is_superuser) {
|
||||||
|
throw redirect({
|
||||||
|
to: "/",
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
head: () => ({
|
head: () => ({
|
||||||
meta: [
|
meta: [
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user