DreamineVMS.Web 1.0.0.0
DreamineVMS 에이전트가 제공하는 HLS 카메라 영상을 브라우저에서 관리·재생하는 원격 CCTV 웹 서비스입니다.
로딩중...
검색중...
일치하는것 없음
DreamineVMS.Web.Services.Auth.VmsAuthState 클래스 참조sealed

더 자세히 ...

DreamineVMS.Web.Services.Auth.VmsAuthState에 대한 협력 다이어그램:

Public 멤버 함수

 VmsAuthState (VmsSessionService sessions, AuthenticationStateProvider authenticationStateProvider, VmsUserService users)
async Task RestoreAsync (IJSRuntime js)
async Task SignInAsync (IJSRuntime js, VmsUser user, string token)
async Task SignOutAsync (IJSRuntime js)

속성

VmsUserCurrentUser [get, private set]
bool IsAuthenticated [get]

Private 속성

readonly VmsSessionService _sessions
readonly AuthenticationStateProvider _authenticationStateProvider
readonly VmsUserService _users
string? _token

상세한 설명

Blazor 서킷(탭)마다 현재 로그인 사용자를 보유하는 Scoped 서비스입니다.

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

생성자 & 소멸자 문서화

◆ VmsAuthState()

DreamineVMS.Web.Services.Auth.VmsAuthState.VmsAuthState ( VmsSessionService sessions,
AuthenticationStateProvider authenticationStateProvider,
VmsUserService users )
inline

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

매개변수
sessionssessions에 사용할 VmsSessionService 값입니다.
authenticationStateProviderauthentication State Provider에 사용할 AuthenticationStateProvider 값입니다.
usersusers에 사용할 VmsUserService 값입니다.

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

109 {
110 _sessions = sessions;
111 _authenticationStateProvider = authenticationStateProvider;
112 _users = users;
113 }

다음을 참조함 : _authenticationStateProvider, _sessions, _users.

멤버 함수 문서화

◆ RestoreAsync()

async Task DreamineVMS.Web.Services.Auth.VmsAuthState.RestoreAsync ( IJSRuntime js)
inline

페이지 초기화 시 공통 로그인 쿠키 또는 localStorage 토큰으로 세션을 복원합니다.

매개변수
jsjs에 사용할 IJSRuntime 값입니다.
반환값
Restore Async 작업에서 생성한 Task 결과입니다.

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

140 {
141 if (IsAuthenticated) return;
142
143 var authState = await _authenticationStateProvider.GetAuthenticationStateAsync();
144 var sharedUser = await _users.EnsureExternalUserAsync(authState.User);
145 if (sharedUser is not null)
146 {
147 CurrentUser = sharedUser;
148 _token = _sessions.CreateSession(sharedUser);
149 await js.InvokeVoidAsync("localStorage.setItem", "vms_session", _token);
150 return;
151 }
152
153 try
154 {
155 var token = await js.InvokeAsync<string?>("localStorage.getItem", "vms_session");
156 var user = _sessions.ValidateToken(token);
157 if (user is not null)
158 {
159 _token = token;
160 CurrentUser = user;
161 }
162 }
163 catch { /* 서킷 아직 연결 안 된 경우 무시 */ }
164 }

다음을 참조함 : _authenticationStateProvider, _sessions, _token, _users, CurrentUser, IsAuthenticated.

◆ SignInAsync()

async Task DreamineVMS.Web.Services.Auth.VmsAuthState.SignInAsync ( IJSRuntime js,
VmsUser user,
string token )
inline

로그인 성공 후 호출합니다.

매개변수
jsjs에 사용할 IJSRuntime 값입니다.
useruser에 사용할 VmsUser 값입니다.
tokentoken에 사용할 string 값입니다.
반환값
Sign In Async 작업에서 생성한 Task 결과입니다.

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

207 {
208 _token = token;
209 CurrentUser = user;
210 await js.InvokeVoidAsync("localStorage.setItem", "vms_session", token);
211 }

다음을 참조함 : _token, CurrentUser.

◆ SignOutAsync()

async Task DreamineVMS.Web.Services.Auth.VmsAuthState.SignOutAsync ( IJSRuntime js)
inline

로그아웃합니다.

매개변수
jsjs에 사용할 IJSRuntime 값입니다.
반환값
Sign Out Async 작업에서 생성한 Task 결과입니다.

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

238 {
239 _sessions.RemoveSession(_token);
240 _token = null;
241 CurrentUser = null;
242 await js.InvokeVoidAsync("localStorage.removeItem", "vms_session");
243 }

다음을 참조함 : _sessions, _token, CurrentUser.

멤버 데이터 문서화

◆ _authenticationStateProvider

readonly AuthenticationStateProvider DreamineVMS.Web.Services.Auth.VmsAuthState._authenticationStateProvider
private

authentication State Provider 값을 보관합니다.

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

다음에 의해서 참조됨 : RestoreAsync(), VmsAuthState().

◆ _sessions

readonly VmsSessionService DreamineVMS.Web.Services.Auth.VmsAuthState._sessions
private

sessions 값을 보관합니다.

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

다음에 의해서 참조됨 : RestoreAsync(), SignOutAsync(), VmsAuthState().

◆ _token

string? DreamineVMS.Web.Services.Auth.VmsAuthState._token
private

token 값을 보관합니다.

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

다음에 의해서 참조됨 : RestoreAsync(), SignInAsync(), SignOutAsync().

◆ _users

readonly VmsUserService DreamineVMS.Web.Services.Auth.VmsAuthState._users
private

users 값을 보관합니다.

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

다음에 의해서 참조됨 : RestoreAsync(), VmsAuthState().

속성 문서화

◆ CurrentUser

VmsUser? DreamineVMS.Web.Services.Auth.VmsAuthState.CurrentUser
getprivate set

Current User 값을 가져오거나 설정합니다.

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

62{ get; private set; }

다음에 의해서 참조됨 : RestoreAsync(), SignInAsync(), SignOutAsync().

◆ IsAuthenticated

bool DreamineVMS.Web.Services.Auth.VmsAuthState.IsAuthenticated
get

Is Authenticated 값을 가져옵니다.

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

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


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