이 기사에서는 AppMaster.io 노코드 플랫폼이 애플리케이션 사용자의 데이터 액세스 문제를 어떻게 해결하는지 살펴볼 것입니다.
사용자, 중재자, 관리자 및 기타 요구 사항과 같은 역할을 도입함으로써 발생합니다. 이 솔루션은 구축된 애플리케이션 내에서 더 많은 유연성을 제공하고 구축된 애플리케이션 내에서 정보 및 기능 액세스를 제어합니다.
이 기사는 AppMaster.io 플랫폼의 기능에 대해 자세히 알아보고 역할별 데이터 액세스 설정 측면에서 기능을 확인하려는 모든 사람에게 유용할 것입니다.
AppMaster.io의 모듈 인증
당사 플랫폼의 어셈블된 애플리케이션 등록은 Auth 모듈 로 표시되며, 이를 통해 사용자 그룹을 생성 및 편집하고 해당 권한에 액세스할 수 있습니다. Auth 모듈 은 생성될 때 프로젝트에 이미 사전 설치되어 있습니다.
사용 가능한 인증 모듈 설정:
가입 그룹 — 등록할 수 있는 사용자 그룹 목록.
가입 — 응용 프로그램에 등록하는 기능을 포함합니다.
세션 시간 초과(분 ) — 사용자가 유휴 상태인 경우 현재 사용자 세션이 종료되는 시간(분). 기본값은 60분입니다.
실패한 로그인 지연(ms) — 실패한 로그인 시도의 경우 서버 응답에 대한 지연 시간(ms)입니다. 기본값은 0ms입니다.
이메일 확인 필요 — 활성화된 경우 이메일을 통한 확인을 포함하는 옵션.
등록된 사용자 활성 — 등록된 각 사용자에 대해 활성 속성을 True 로 설정합니다.
그룹 — 사용자 그룹을 만들고 편집할 수 있습니다.
AppMaster.io는 데이터 모델 디자이너 를 사용하여 모델 작업을 수행합니다.
사용자 및 사용자 세션 은 데이터 모델 디자이너에서 자동으로 생성되는 두 가지 모델입니다. 사전 설치된 데이터 모델 필드는 수정하거나 삭제할 수 없지만 새 필드는 추가할 수 있습니다.
이러한 모델의 경우 비즈니스 프로세스 블록(BP)도 자동으로 생성됩니다.
사용자 및 사용자 세션과 연결된 자동 생성 BP
- 사용자 모델
DB: 사용자 삭제 — ID를 통해 데이터베이스에서 개체 사용자를 삭제합니다.
DB: 사용자 업데이트 — 데이터베이스의 입력으로 전달된 사용자 개체 블록의 모든 필드를 재설정하고 지정된 값에 따라 업데이트합니다(지정된 필드만 변경하려면 DB: 사용자 패치 블록이 사용됨).
DB: Create User — 데이터베이스에 저장하고 주어진 User 객체를 반환합니다(주어진 필드에서 생성하려면 Make User 블록 사용).
DB: 사용자 일시 삭제 — 사용자 개체의 DeletedAt 속성을 업데이트하고 데이터베이스에 그대로 둡니다.
DB: 사용자 대량 삭제 — 데이터베이스에서 삭제할 사용자 개체의 ID(id) 배열을 입력으로 사용합니다.
failed_ids — 삭제되지 않을 사용자 ID의 배열.
DB: 사용자 패치 — 데이터베이스에서 사용자 개체의 지정된 필드를 업데이트합니다(모든 필드를 재설정하려면 DB: 사용자 업데이트 블록 사용).
DB: 사용자 검색 — 필드를 기반으로 데이터베이스에서 하나 이상의 사용자 개체를 찾아 반환합니다.
DB: GetOne User — 해당 ID로 데이터베이스에서 User 개체를 찾아 반환합니다.
사용자 확장 — 선택한 사용자 개체의 모든 필드를 반환합니다.
사용자 만들기 — 지정된 필드에서 메모리에 새 사용자 개체를 만들고 반환합니다(생성된 개체를 데이터베이스에 저장하려면 DB: 사용자 만들기 블록 사용).
- 사용자 세션 모델
DB: 사용자 세션 삭제 — 전달된 ID로 데이터베이스에서 사용자 세션 개체를 제거합니다.
DB: 사용자 세션 업데이트 — 데이터베이스의 입력 블록에 전달된 사용자 세션 개체의 모든 필드를 재설정하고 지정된 값에 따라 업데이트합니다(지정된 필드만 변경하려면 DB: 사용자 세션 패치 사용).
DB: 사용자 세션 생성 — 데이터베이스에 저장하고 주어진 사용자 세션 객체를 반환합니다(주어진 필드에서 생성하려면 사용자 세션 만들기 블록 사용).
DB: 사용자 세션 일시 삭제 — 사용자 세션 개체의 DeletedAt 속성을 업데이트하고 데이터베이스에 그대로 둡니다.
DB: 사용자 세션 대량 삭제 — 데이터베이스에서 삭제할 사용자 세션 개체의 ID 집합을 입력으로 수락합니다.
failed_ids — 배열은 제거되지 않을 ID 세트를 정의합니다.
DB: 사용자 세션 패치 — 데이터베이스에 있는 사용자 세션 개체의 지정된 필드를 업데이트합니다(모든 필드를 재설정하려면 DB: 사용자 세션 업데이트 블록 사용).
DB: 사용자 세션 검색 — 필드를 기반으로 데이터베이스에서 하나 이상의 사용자 세션 개체를 찾아 반환합니다.
DB: GetOne 사용자 세션 — 해당 ID로 데이터베이스에서 사용자 세션 개체를 찾아 반환합니다.
사용자 세션 확장 — 선택한 사용자 세션 개체의 모든 필드를 반환합니다.
사용자 세션 만들기 — 지정된 필드에서 메모리에 새 사용자 세션 개체를 만들고 반환합니다(생성된 개체를 데이터베이스에 저장하려면 DB: Create User Session 블록 사용).
- 인증 모듈
인증: 인증 토큰 생성 — 주어진 길이의 인증 토큰(인증 토큰)을 생성합니다.
인증: 등록 — 새 사용자를 등록합니다.
Auth: Authorization — 인증 토큰이 시스템에 있는지 확인하고 연결된 사용자를 반환합니다.
인증: 인증 — 사용자의 로그인과 비밀번호를 확인하고 인증 토큰을 반환합니다.
인증: 로그아웃 — 인증 토큰을 수락하고 현재 사용자 세션을 종료합니다.
인증: 현재 사용자 가져오기 — 현재 사용자의 데이터를 반환합니다.
인증: 그룹에서 사용자 제거 — ID(인증 모듈의 설정에 정의됨)로 지정된 그룹에서 사용자를 제거합니다.
인증: 그룹 에 사용자 추가 — 해당 ID(인증 모듈 설정에 정의됨)로 지정된 사용자 그룹에 사용자를 추가합니다.
인증: 해시 암호 — 암호 문자열을 해시로 변환합니다.
인증: 암호 복원 — 사용자의 사용자 이름과 새 암호를 수락하여 재설정합니다.
인증: 암호 변경 — 현재 사용자 암호를 새 암호로 바꿉니다.
인증: 프로브 암호 — 암호 및 해시 일치 확인.
인증 모듈의 끝점과 사용자 및 사용자 세션 모델은 프로젝트가 생성될 때 자동으로 생성됩니다.
인증 모듈
요청 유형 | 끝점 | 연결된 BP |
---|---|---|
/로그 아웃/ | 인증: 로그아웃 | |
/인증/ | 인증: 인증 | |
/등록하다/ | 인증: 등록 | |
/확인하다/ | 인증: 등록 | |
/사용자/비밀번호 변경 | 인증: 비밀번호 변경 | |
/사용자/복원 비밀번호/ | 인증: 비밀번호 복원 | |
/유저 프로필/ | 권한: 권한 부여 |
사용자
요청 유형 | 끝점 | 연결된 BP |
---|---|---|
/사용자/:아이디/ | DB: 사용자 업데이트 | |
/사용자/:아이디/ | DB: 사용자 삭제 | |
/사용자/:아이디/ | DB: GetOne 사용자 | |
/사용자/ | DB: 사용자 검색 | |
/사용자/:아이디 | DB: 패치 사용자 | |
/사용자/ | DB: 사용자 생성 |
사용자 세션
요청 유형 | 끝점 | 연결된 BP |
---|---|---|
/사용자 세션/:ID/ | DB: 사용자 세션 삭제 | |
/사용자 세션/:ID/ | DB: GetOne 사용자 세션 | |
/사용자 세션/ | DB: 사용자 세션 검색 | |
/사용자 세션/:ID/ | DB: 패치 사용자 세션 | |
/사용자 세션/ | DB: 사용자 세션 생성 | |
/사용자 세션/:ID/ | DB: 사용자 세션 업데이트 |
Auth Token 은 권한이 부여된 사용자의 현재 세션 토큰으로 사용됩니다. 웹 애플리케이션 BP에서 다음 토큰과 상호 작용할 수 있습니다.
- Get Auth Token 은 현재 인증된 사용자 세션의 Auth를 반환합니다.
- Set Auth Token 은 승인된 사용자의 현재 세션의 Auth Token을 덮어씁니다.
- 인증 토큰 제거 는 인증된 사용자의 현재 세션에서 인증 토큰을 삭제합니다.
이 예는 현재 사용자를 얻는 방법을 보여줍니다.
이렇게 하려면 비즈니스 로직 탭으로 이동하여 인증: 현재 사용자 블록 가져오기를 끕니다.
다음으로 생성된 BP에 대해 엔드포인트가 생성되며, 이는 현재 사용자의 개체를 가져오기 위해 서버에 접속하는 데 사용됩니다.
끝점 섹션에서 사용자 그룹을 선택하고 새로 생성된 프로세스에 대한 GET 요청 메서드를 생성하여 현재 사용자를 가져옵니다.
웹 애플리케이션 BP에서 생성된 엔드포인트에 요청(Server request GET /user_current)하여 현재 사용자를 가져옵니다.
그룹 및 권한
사용자 그룹은 Auth 모듈의 설정에서 생성됩니다. 모듈 설정으로 이동하려면 모듈 섹션을 열고 해당 모듈의 카드를 클릭해야 합니다.
그룹 탭에는 모든 기존 그룹 목록이 있습니다. 새 요소 추가를 클릭하여 새 사용자 그룹을 작성하십시오. 새 모달 창에서 그룹을 사용자 정의하고 설명, 아이콘, 아이콘 및 레이블 색상, 태그를 추가할 수 있습니다.
피마스터" data-mce-src="https://appmaster.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/">
기존 사용자 그룹을 편집하려면 인증 모듈의 설정으로도 이동해야 합니다. 이렇게 하려면 모듈 섹션으로 이동하여 해당 모듈의 카드를 클릭합니다. 다음으로, 그룹 탭에서 그룹 목록을 사용할 수 있습니다. 편집하려면 설정 아이콘을 클릭해야 합니다. 새 모달 창에서 그룹을 사용자 정의하고 설명, 아이콘, 아이콘 및 레이블 색상, 태그를 변경할 수 있습니다.
특정 사용자 그룹에 대한 데이터베이스의 항목 읽기/쓰기 권한을 변경하기 위해 Auth 모듈의 미들웨어를 사용합니다.
끝점 섹션에서 읽기/쓰기 권한을 변경하려는 끝점을 선택합니다. 원하는 엔드포인트에서 설정 버튼을 클릭하고 열리는 모달 창에서 미들웨어 탭으로 이동합니다. 다음으로 Token Auth Middleware 라인에서 Edit settings를 클릭하여 접근 권한을 설정합니다.
웹 애플리케이션의 페이지에 대한 액세스: 웹 애플리케이션으로 이동하여 액세스를 제한하려는 페이지의 설정 버튼을 클릭해야 합니다.
그룹 표시 필드에서 이 페이지를 볼 수 있는 사용자 그룹 목록을 선택해야 합니다. 기본적으로 필드는 비어 있으며 모든 범주의 사용자에게 액세스가 허용됩니다.
결론
역할별 데이터 액세스는 특정 사용자 그룹에 대한 정보 흐름을 구성하는 편리한 방법입니다. 코드가 없는 플랫폼 AppMaster.io 를 사용하면 이 기능을 시험판에서 테스트할 수 있습니다.
이 기능이 마음에 든다면 이 기능과 바이너리 파일 내보내기, 정기 백업, 프로젝트 전송 등이 포함된 Professional 플랜을 다운로드하세요. AppMaster.io 플랫폼에서 가장 대담한 프로젝트를 구현하기를 기다리고 있습니다.