123456789101112131415161718192021222324252627282930 |
- using System;
- using VCommon.VApplication.Authorization;
- namespace VCommon.VApplication
- {
- public interface IVSession
- {
- Guid? UserId { get; }
- Guid? TenantId { get; }
- string Token { get; }
- void DemandAuth();
- public Guid GetUserId()
- {
- if (!UserId.HasValue) throw new VApplicationAuthException("UserId is null! Probably, user is not logged in.", AuthReason.AuthRequired);
- return UserId.Value;
- }
- public Guid GetTenantId()
- {
- if (!TenantId.HasValue)
- throw new VApplicationAuthException("TenantId is null! Possible problems: No user logged in or current logged in user in a host user (TenantId is always null for host users).", AuthReason.AuthRequired);
- return TenantId.Value;
- }
- public MultiTenancySides Side => TenantId.HasValue ? MultiTenancySides.Tenant : MultiTenancySides.Host;
- }
- }
|