FLImaging 6.5.8.1
AuthorityManager.h
1#pragma once
2
11#include "FLArray.h"
12#include "FLString.h"
13
15namespace FLImaging
16{
18 namespace Base
19 {
28 enum EAuthorityLevel : uint32_t
29 {
32
35
38
41
44
47 };
48
49 class CAuthorityManagerInternal;
50
57 class FL_EXPORT CAuthorityManager
58 {
59 protected:
68
69 public:
78
88 static bool IsInitialized();
89
105 static const CResult Initialize(const wchar_t* pWcsDatabaseFileName, const wchar_t* pWcsRootKey);
106
118 static const CResult Terminate();
119
120
136 static const CResult LogIn(const wchar_t* pWcsUserID, const wchar_t* pWcsPassword);
137
149 static const CResult LogOut();
150
170 static const CResult RegisterUser(const wchar_t* pWcsUserID, const wchar_t* pWcsPassword, EAuthorityLevel eAuthorityLevel);
171
185 static const CResult UnregisterUser(const wchar_t* pWcsUserID);
186
204 static const CResult ChangeUserPassword(const wchar_t* pWcsUserID, const wchar_t* pWcsOriginalPassword, const wchar_t* pWcsPasswordToChange);
205
223 static const CResult ChangeUserAuthorityLevel(const wchar_t* pWcsUserID, EAuthorityLevel eAuthorityLevelToChange);
224
237
250
270 static const CResult GetUserList(CFLArray<CFLString<wchar_t>>& flaStrUserList, CFLArray<int32_t>* pFlaAuthorityLevelList = nullptr);
271
272 private:
273
274 static CAuthorityManager* GetObject();
275
276 CAuthorityManagerInternal& m_internal;
277 };
278 }
279}
Authority manager class
Definition AuthorityManager.h:58
static const CResult Initialize(const wchar_t *pWcsDatabaseFileName, const wchar_t *pWcsRootKey)
초기화 합니다.
static const CResult ChangeUserPassword(const wchar_t *pWcsUserID, const wchar_t *pWcsOriginalPassword, const wchar_t *pWcsPasswordToChange)
유저의 비밀번호를 변경합니다. (자신의 아이디를 변경 할 때는 기존 비밀번호 입력, 자신보다 낮은 레벨은 기존 비밀번호 없이 가능합니다.)
static const CResult RegisterUser(const wchar_t *pWcsUserID, const wchar_t *pWcsPassword, EAuthorityLevel eAuthorityLevel)
유저를 등록합니다. (자신보다 낮은 레벨만 등록 가능합니다.)
static const CResult GetUserList(CFLArray< CFLString< wchar_t > > &flaStrUserList, CFLArray< int32_t > *pFlaAuthorityLevelList=nullptr)
유저 리스트를 얻어옵니다.
static bool IsInitialized()
초기화 상태 유무를 얻습니다.
static const CResult LogIn(const wchar_t *pWcsUserID, const wchar_t *pWcsPassword)
로그인 합니다.
virtual ~CAuthorityManager()
소멸자
static const CResult LogOut()
로그아웃 합니다.
static const CResult UnregisterUser(const wchar_t *pWcsUserID)
유저 등록을 제거합니다. (자신보다 낮은 레벨만 제거 가능합니다.)
static EAuthorityLevel GetAuthorityLevel()
권한 레벨을 얻어옵니다.
static CFLString< wchar_t > GetUserID()
유저 아이디를 얻어옵니다.
static const CResult ChangeUserAuthorityLevel(const wchar_t *pWcsUserID, EAuthorityLevel eAuthorityLevelToChange)
유저의 권한 레벨을 변경합니다. (자신보다 낮은 레벨만 변경 가능합니다.)
static const CResult Terminate()
초기화를 해제합니다.
Template type 의 배열 클래스.
Definition RangeTree.h:19
Template type 의 문자열 클래스
Definition INIUtilities.h:20
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
EAuthorityLevel
권한 레벨
Definition AuthorityManager.h:29
@ EAuthorityLevel_Root
Definition AuthorityManager.h:46
@ EAuthorityLevel_Developer
Definition AuthorityManager.h:43
@ EAuthorityLevel_None
Definition AuthorityManager.h:31
@ EAuthorityLevel_User
Definition AuthorityManager.h:34
@ EAuthorityLevel_Administrator
Definition AuthorityManager.h:40
@ EAuthorityLevel_PowerUser
Definition AuthorityManager.h:37