diff --git a/CHANGELOG.md b/CHANGELOG.md index cd1b2b6..9a30aa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Use `str` type for `pk` path param. (#52) - Fix `Image` input. - `filters` can accept `str` type and default use `Search` filter. +- Fix accessible when not login. (#53) ### 1.0.1 diff --git a/docs/en/docs/custom/page.md b/docs/en/docs/custom/page.md index c580d15..6f375a9 100644 --- a/docs/en/docs/custom/page.md +++ b/docs/en/docs/custom/page.md @@ -23,13 +23,17 @@ async def startup(): Then write a router to render the template. +If you want you page can access only after login, you need use `get_current_admin` dependency. + ```python from fastapi_admin.app import app as admin_app from fastapi_admin.template import templates from starlette.requests import Request +from fastapi import Depends +from fastapi_admin.depends import get_current_admin -@admin_app.get("/") +@admin_app.get("/", dependencies=[Depends(get_current_admin)]) async def home(request: Request): return templates.TemplateResponse("dashboard.html", context={"request": request}) ``` diff --git a/fastapi_admin/routes/__init__.py b/fastapi_admin/routes/__init__.py index c4af80a..0bf1459 100644 --- a/fastapi_admin/routes/__init__.py +++ b/fastapi_admin/routes/__init__.py @@ -1,6 +1,8 @@ -from fastapi import APIRouter +from fastapi import APIRouter, Depends + +from fastapi_admin.depends import get_current_admin from .resources import router as resources_router router = APIRouter() -router.include_router(resources_router) +router.include_router(resources_router, dependencies=[Depends(get_current_admin)])