DreamineVMS.Web 1.0.0.0
DreamineVMS 에이전트가 제공하는 HLS 카메라 영상을 브라우저에서 관리·재생하는 원격 CCTV 웹 서비스입니다.
로딩중...
검색중...
일치하는것 없음
VmsSessionService.cs
이 파일의 문서화 페이지로 가기
1using System.Collections.Concurrent;
3
5
14public sealed class VmsSessionService
15{
24 private readonly ConcurrentDictionary<string, (VmsUser User, DateTimeOffset Expires)> _sessions = new();
25
50 public string CreateSession(VmsUser user)
51 {
52 var token = Guid.NewGuid().ToString("N");
53 _sessions[token] = (user, DateTimeOffset.UtcNow.AddDays(30));
54 return token;
55 }
56
81 public VmsUser? ValidateToken(string? token)
82 {
83 if (string.IsNullOrWhiteSpace(token)) return null;
84 if (!_sessions.TryGetValue(token, out var entry)) return null;
85 if (entry.Expires < DateTimeOffset.UtcNow)
86 {
87 _sessions.TryRemove(token, out _);
88 return null;
89 }
90 return entry.User;
91 }
92
109 public void RemoveSession(string? token)
110 {
111 if (!string.IsNullOrWhiteSpace(token))
112 _sessions.TryRemove(token, out _);
113 }
114}
readonly ConcurrentDictionary< string,(VmsUser User, DateTimeOffset Expires)> _sessions