Dreamine.Web 1.0.0.0
WPF와 Blazor를 한 코드 흐름으로 연결하고 반복적인 MVVM 코드를 줄이는 오픈소스 FullKit 공식 웹 애플리케이션입니다.
로딩중...
검색중...
일치하는것 없음
DreamineWeb.Services.AdminAuthService 클래스 참조

더 자세히 ...

클래스

class  AdminAuthData

Public 멤버 함수

 AdminAuthService (DreamineOptions opts)
bool Verify (string password)
async Task ChangePasswordAsync (string newPassword)

Private 멤버 함수

void WriteOverridePassword (string passwordHash)

Private 속성

readonly string _filePath
readonly string _fallbackPassword
string? _overridePassword

정적 Private 속성

static readonly JsonSerializerOptions _json = new() { WriteIndented = true }

상세한 설명

Admin Auth Service 기능과 관련 상태를 캡슐화합니다.

AdminAuthService.cs 파일의 16 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ AdminAuthService()

DreamineWeb.Services.AdminAuthService.AdminAuthService ( DreamineOptions opts)
inline

지정한 설정으로 AdminAuthService 클래스의 새 인스턴스를 초기화합니다.

매개변수
optsopts에 사용할 DreamineOptions 값입니다.

AdminAuthService.cs 파일의 72 번째 라인에서 정의되었습니다.

73 {
74 _fallbackPassword = opts.SuperAdminPassword;
75 _filePath = Path.Combine(opts.ResolvedDataPath, "admin_auth.json");
76
77 if (File.Exists(_filePath))
78 {
79 try
80 {
81 var doc = JsonSerializer.Deserialize<AdminAuthData>(File.ReadAllText(_filePath));
82 _overridePassword = doc?.Password;
83 }
84 catch { }
85 }
86 }

다음을 참조함 : _fallbackPassword, _filePath, _overridePassword, DreamineWeb.Models.DreamineOptions.ResolvedDataPath, DreamineWeb.Models.DreamineOptions.SuperAdminPassword.

멤버 함수 문서화

◆ ChangePasswordAsync()

async Task DreamineWeb.Services.AdminAuthService.ChangePasswordAsync ( string newPassword)
inline

Change Password Async 작업을 수행합니다.

매개변수
newPasswordnew Password에 사용할 string 값입니다.
반환값
Change Password Async 작업에서 생성한 Task 결과입니다.

AdminAuthService.cs 파일의 156 번째 라인에서 정의되었습니다.

157 {
158 _overridePassword = DreaminePasswordHasher.HashPassword(newPassword);
159 Directory.CreateDirectory(Path.GetDirectoryName(_filePath)!);
160 await File.WriteAllTextAsync(_filePath,
161 JsonSerializer.Serialize(new AdminAuthData { Password = _overridePassword }, _json));
162 }

다음을 참조함 : _filePath, _json, _overridePassword.

◆ Verify()

bool DreamineWeb.Services.AdminAuthService.Verify ( string password)
inline

Verify 작업을 수행합니다.

매개변수
passwordpassword에 사용할 string 값입니다.
반환값
Verify 조건이 충족되면 true이고, 그렇지 않으면 false입니다.

AdminAuthService.cs 파일의 112 번째 라인에서 정의되었습니다.

113 {
114 var storedPassword = _overridePassword ?? _fallbackPassword;
115 var verification = DreaminePasswordHasher.VerifyPassword(password, storedPassword, out var upgradedHash);
116 if (verification is PasswordHashVerificationResult.Failed)
117 {
118 return false;
119 }
120
121 if (_overridePassword is not null &&
122 verification is PasswordHashVerificationResult.SuccessRehashNeeded &&
123 upgradedHash is not null)
124 {
125 _overridePassword = upgradedHash;
126 WriteOverridePassword(upgradedHash);
127 }
128
129 return true;
130 }

다음을 참조함 : _fallbackPassword, _overridePassword, WriteOverridePassword().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ WriteOverridePassword()

void DreamineWeb.Services.AdminAuthService.WriteOverridePassword ( string passwordHash)
inlineprivate

Override Password 데이터를 씁니다.

매개변수
passwordHashpassword Hash에 사용할 string 값입니다.

AdminAuthService.cs 파일의 180 번째 라인에서 정의되었습니다.

181 {
182 Directory.CreateDirectory(Path.GetDirectoryName(_filePath)!);
183 File.WriteAllText(_filePath, JsonSerializer.Serialize(new AdminAuthData { Password = passwordHash }, _json));
184 }

다음을 참조함 : _filePath, _json.

다음에 의해서 참조됨 : Verify().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ _fallbackPassword

readonly string DreamineWeb.Services.AdminAuthService._fallbackPassword
private

fallback Password 값을 보관합니다.

AdminAuthService.cs 파일의 35 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : AdminAuthService(), Verify().

◆ _filePath

readonly string DreamineWeb.Services.AdminAuthService._filePath
private

file Path 값을 보관합니다.

AdminAuthService.cs 파일의 26 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : AdminAuthService(), ChangePasswordAsync(), WriteOverridePassword().

◆ _json

readonly JsonSerializerOptions DreamineWeb.Services.AdminAuthService._json = new() { WriteIndented = true }
staticprivate

json 값을 보관합니다.

AdminAuthService.cs 파일의 54 번째 라인에서 정의되었습니다.

54{ WriteIndented = true };

다음에 의해서 참조됨 : ChangePasswordAsync(), WriteOverridePassword().

◆ _overridePassword

string? DreamineWeb.Services.AdminAuthService._overridePassword
private

override Password 값을 보관합니다.

AdminAuthService.cs 파일의 44 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : AdminAuthService(), ChangePasswordAsync(), Verify().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: