Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2주차 토의내용_아키텍처 설계 #5

Open
ilpyoyang opened this issue Jul 26, 2023 · 2 comments
Open

2주차 토의내용_아키텍처 설계 #5

ilpyoyang opened this issue Jul 26, 2023 · 2 comments
Labels
question Further information is requested

Comments

@ilpyoyang
Copy link
Member

사용자의 정보를 관리하는 플랫폼이 있을때, 정보를 어떻게 관리,저장,검증 할 것인가?
아키텍처를 설계해보시오.

@ilpyoyang ilpyoyang added the question Further information is requested label Jul 26, 2023
@ilpyoyang ilpyoyang changed the title 2주차 토의내용 2주차 토의내용_아키텍처 설계 Jul 26, 2023
@ilpyoyang
Copy link
Member Author

사용자 인증 및 접근 제어:

사용자 인증 시스템을 구현하여 사용자가 시스템에 접근할 때 인증을 받도록 합니다. 주로 JWT (JSON Web Tokens) 또는 OAuth2.0과 같은 표준 기술을 사용하여 인증과 접근 제어를 관리합니다.

사용자 정보 저장:

사용자 정보를 저장할 데이터베이스가 필요합니다. 개인 정보와 관련된 민감한 데이터는 암호화하여 저장해야 합니다.
사용자 정보의 구조에 따라 NoSQL 또는 SQL 데이터베이스를 선택할 수 있습니다. MongoDB, PostgreSQL, MySQL 등이 가능한 선택지입니다.

데이터 암호화:

민감한 사용자 정보 (예: 비밀번호)는 단방향 해시 알고리즘 (예: bcrypt)을 사용하여 암호화하고, 대칭키 또는 공개키 기반의 암호화를 사용하여 개인 정보를 보호해야 합니다.

API 서버:

사용자 정보를 관리하기 위한 RESTful API 서버를 구현합니다.
API 서버는 사용자 등록, 로그인, 정보 수정, 정보 조회 등의 엔드포인트를 제공합니다.

웹 프론트엔드 또는 앱:

사용자가 정보를 입력하고 수정할 수 있는 웹 프론트엔드 또는 모바일 앱을 개발합니다.
웹 프론트엔드 또는 앱은 사용자와 상호작용하며, API 서버와 통신하여 데이터를 요청하고 표시합니다.

백엔드 서버:

API 서버와 데이터베이스 간의 상호작용을 관리하는 백엔드 서버가 필요합니다.
사용자 요청을 처리하고 적절한 데이터베이스 작업을 수행하는 역할을 합니다.

검증과 예외 처리:

사용자 정보의 유효성을 검증하는 기능이 필요합니다. 예를 들어, 이메일 주소 형식, 비밀번호 복잡성 등을 검증해야 합니다.
또한, 잘못된 요청에 대한 예외 처리도 고려해야 합니다.

로깅과 모니터링:

시스템의 동작을 모니터링하고, 사용자 활동 및 접근 기록을 로깅하여 보안 문제나 잠재적인 이슈를 식별하고 대응합니다.

보안:

보안 취약점에 대한 대비책을 마련하여 시스템을 보호해야 합니다. 주기적인 보안 업데이트와 취약점 점검이 필요합니다.

GDPR 및 개인정보 보호 준수:

사용자의 개인 정보를 수집, 저장, 처리하는데 있어서 GDPR 및 기타 관련 법규를 준수해야 합니다.

@Kimsihwan
Copy link
Contributor

Kimsihwan commented Aug 2, 2023

데이터베이스 시스템
사용자 정보를 저장및 관리하기 위한 시스템이 필요할거 같아요
예) Mysql, Oracle

사용자 정보 수집
이름, 이메일, 비밀번호, 개인정보같은것을 입력을 받을 필요가 있을거같아요

검증서버
스프링을 예를들어서 Spring Securitry를 사용하여 사용자가 이메일, 비밀번호 기준으로 인증을 한다면 토큰을 발급하는 형식으로 할 거같아요

사용자 관리
활동같은것을 모니터링 하기위한 툴같은걸 활용할거같아요

API 서버
사용자 정보를 입력받아 DB에 저장하는 Rest API를 개발할거같아요

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants