diff options
| author | Jan Müller <github@lonebyte.de> | 2023-09-16 12:40:05 +0200 |
|---|---|---|
| committer | Jan Müller <github@lonebyte.de> | 2023-09-16 12:40:05 +0200 |
| commit | fd022ee6850c364a9f3c2d8de2b06f26ee1b8abf (patch) | |
| tree | d2aec7c1a9ae2d2b77b5c764a99a4434a6e4a21c /Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs | |
| parent | 79cff704ff4e00895a8d2b97ecbbea3e2f5f56fc (diff) | |
| parent | 61155adecd8a69bb476487f9fc81175b0c4185b7 (diff) | |
Merge branch 'master' into flac-hls-fixes
# Conflicts:
# Jellyfin.Api/Controllers/DynamicHlsController.cs
Diffstat (limited to 'Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs')
| -rw-r--r-- | Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs b/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs index 0d8bf205c..b403ff46d 100644 --- a/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs +++ b/Jellyfin.Api/WebSocketListeners/SessionInfoWebSocketListener.cs @@ -1,5 +1,7 @@ using System.Collections.Generic; using System.Threading.Tasks; +using Jellyfin.Data.Enums; +using MediaBrowser.Controller.Authentication; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Session; @@ -66,6 +68,20 @@ public class SessionInfoWebSocketListener : BasePeriodicWebSocketListener<IEnume base.Dispose(dispose); } + /// <summary> + /// Starts sending messages over a session info web socket. + /// </summary> + /// <param name="message">The message.</param> + protected override void Start(WebSocketMessageInfo message) + { + if (!message.Connection.AuthorizationInfo.User.HasPermission(PermissionKind.IsAdministrator)) + { + throw new AuthenticationException("Only admin users can subscribe to session information."); + } + + base.Start(message); + } + private async void OnSessionManagerSessionActivity(object? sender, SessionEventArgs e) { await SendData(false).ConfigureAwait(false); |
