inflearn logo
강의

講義

知識共有

React & FastAPIで作る投票コミュニティプラットフォーム:決済システムで収益化まで!

# 15-1. (フルスタック) 管理者機能(会員情報 & トピック管理) 実装

관리자 페이지 질문

解決済みの質問

33

kwnam0814

投稿した質問数 4

0

안녕하세요! 강의 잘 보고 있습니다.

제가 생각하는 관리자 기능은 [관리자 로그인, 회원 삭제, 비밀번호 초기화] 등인데요. SQLAdmin에서 이 기능들을 기본 탑재나 설정을 통해 지원하나요?

아니면 제가 직접 파이썬 코드로 백엔드 로직을 다 구현해야 하는지 궁금합니다!

react mysql docker rest-api FastAPI sqladmin

回答 2

0

dakgangjung123

안녕하세요! kwnam0814님.

질문 감사합니다.

결론부터 말씀드리면, 회원 조회·추가·수정·삭제와 같은 기본적인 관리자 기능은 SQLAdmin에서 지원합니다.


공식 문서에서도 SQLAdmin은 SQLAlchemy 모델에 대한 관리(Admin) 인터페이스를 제공하며, FastAPI와 연동하여 CRUD 기능을 사용할 수 있도록 설계되어 있습니다.


📖 공식 문서

다만 질문하신 기능별로 보면 조금 차이가 있습니다.

  • 관리자 로그인: 가능합니다. AuthenticationBackend를 구현하여 관리자 인증 기능을 적용할 수 있습니다.

  • 회원 삭제: 가능합니다. SQLAdmin의 기본 CRUD 기능을 통해 관리 화면에서 삭제할 수 있습니다.

  • 비밀번호 초기화: 기본 기능으로 제공되지는 않습니다. 비밀번호는 일반적으로 해싱 및 검증 과정이 필요하므로, 해당 부분은 FastAPI에서 별도의 백엔드 로직을 구현하거나 SQLAdmin의 커스텀 액션(Action)을 이용해 구현하는 방식을 권장합니다.

즉, 관리자 페이지 자체를 처음부터 모두 개발해야 하는 것은 아니며, 회원 관리와 같은 기본 기능은 SQLAdmin이 제공하고, 서비스의 정책이 필요한 기능(비밀번호 초기화, 권한 관리 등)은 필요한 부분만 직접 구현하는 방식이 일반적입니다.


공식 문서에도 인증(Authentication), ModelView 커스터마이징, 액션(Action), 권한 제어 등 다양한 확장 기능이 정리되어 있으니 함께 참고해 보시면 도움이 될 것 같습니다.


도움이 되었기를 바랍니다. 😊 추가로 궁금하신 점이 있으시면 언제든 질문 남겨주세요. 감사합니다!

-1

communityai8509

안녕하세요, 인프런 AI 인턴입니다. kwnam0814님께서 문의하신 관리자 페이지 기능에 대해 답변 드리겠습니다.

관리자 기능 구현 관련

SQLAdmin 및 다양한 관리자 패널 도구들은 기본적으로 데이터 조회, 수정, 삭제 기능을 지원하여 데이터베이스와의 상호작용을 쉽게 해 줍니다. 그러나, 특정한 기능들, 예를 들어:

  1. 관리자 로그인: 관리자를 위한 별도의 인증 시스템은 직접 구현해야 합니다. 일반 사용자와는 다르게 관리자 계정은 보다 강화된 보안이 필요하며, 이를 위해 FastAPI와 JWT 등을 사용하여 인증 로직을 포함하는 것이 좋습니다.

  2. 회원 삭제, 비밀번호 초기화: 이런 기능들은 SQLAdmin에서 직접적으로 제공하지 않을 수 있으며, 특히 비밀번호 초기화 및 보안 관련 기능은 직접 구현하여 백엔드에 추가해야 합니다. 이를 통해 보다 맞춤화된 기능을 제공할 수 있습니다.

구현 방법

  • 관리자 인증 시스템: FastAPI의 보안 모듈을 사용하여 JWT 토큰 방식의 인증 구현이 추천됩니다. 이를 통해 관리자만 접근할 수 있는 엔드포인트를 보호할 수 있습니다.

  • 비밀번호 초기화 로직: 비밀번호를 안전하게 초기화할 수 있는 로직을 구현하고, 필요시 사용자가 이메일 등 인증된 수단을 통해 비밀번호를 재설정할 수 있도록 해야 합니다.

추가 참고 자료

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

선생님 공유해주신 핸드북에 링크가 몇개 잘못되었어요

0

6

2

62강 실습자료가 잘못되었습니다.

0

4

0

37강에서 ROADMAP.md 파일

0

13

1

.claude, setting~, permission 했을 때 Bash 안 보여요

0

10

1

[미션4] open with Live Server 클릭시 브라우저 안뜸

0

12

2

ordered_at, paid_at 과 같이

0

8

1

기본편 오타 제보 드립니다.

0

10

1

사용량 한도 도달

0

15

1

Cursor를 실행했을 때 나오는 화면이 달라요

0

14

1

유튜브 시연 영상 추가 기능 강의 업로드 계획

0

28

2

이제 인프런에서 강의 더 안산다. 후져....

0

77

3

소스코드 어디서 다운받아요?

0

100

7

추가 강의 업로드 계획은 어떻게 되시나요?

0

123

2

verify_token 함수의 네이밍에 대한 질문입니다

0

83

2

6-2 강의 노션 코드 오타인거죠? 2

0

111

3

[강의 오류 리포트] React Router Outlet 사용 오류

0

90

1

[강의 오류 제보] Navbar 컴포넌트 코드 오류 발견

0

102

2

데모사이트 접속이 안됩니다.

0

77

1

membership부분은 몇 강의에서 진행하신건가요?

0

73

1

Github repository는 없나요?

0

110

1

백엔드 도커 실행 에러가 뜹니다 ㅠ

0

161

2

6-2 강의 노션 코드 오타인거죠?

0

95

1

섹션2 퀴즈 정답 이상함..( Docker 핵심구성요소가 아닌 것)

0

87

1

Navbar.jsx 메뉴 바 제작 (2부) 강의 MobileToggleButton.jsx 코드가 다른 것 같아요

0

113

1