forked from rjuniod/api-admim
|
|
||
|---|---|---|
| .. | ||
| README.txt | ||
| __init__.py | ||
| auth.py | ||
| bkp_classes_customizadas.py | ||
| classes_customizadas.py | ||
| modelos.txt | ||
| permissions.py | ||
| rbac.py | ||
| routes_login.py | ||
| routes_usuario_logado.py | ||
| schemas.py | ||
README.txt
Instruções para integração do módulo RBAC:
1. Copie a pasta 'rbac' para o diretório raiz do seu projeto.
2. Instale a dependencias
- pip install fastapi-users[sqlalchemy]
3. Adicione o modelo 'User' ao seu projeto:
- Copie o conteúdo do arquivo 'user_model_snippet.txt' para o seu arquivo de modelos.
4. Inclua as rotas protegidas no seu 'main.py':
- Importe e inclua as rotas:
from rbac.routes import router as rbac_router
app.include_router(rbac_router)
5. Configure as dependências e sessões do banco de dados conforme necessário.
6. Exemplo de como adicionar a verificação de permissão nas rotas:
```python
from fastapi import APIRouter, Depends
from rbac.permissions import verify_permissions
router = APIRouter()
@router.get("/admin-only")
async def admin_only_route(user: User = Depends(verify_permissions([1]))):
return {"message": "This is an admin-only route"}
7. Exemplo importação das rotas
from rbac.routes import router as rbac_router
app.include_router(rbac_router, prefix="/auth", tags=["auth"])