diff options
| author | cvium <clausvium@gmail.com> | 2020-12-03 10:43:44 +0100 |
|---|---|---|
| committer | cvium <clausvium@gmail.com> | 2020-12-03 10:43:44 +0100 |
| commit | 7e0ea296c383b9b9cd778bb12834c2a73df3d1ea (patch) | |
| tree | b0acc0b4b3743f134f1073fcb17e2a3eadac181f /Emby.Server.Implementations/SyncPlay | |
| parent | b57ace7888db78a655a00a277e7eb5c4a4eba294 (diff) | |
Move request validation to auth policies
Diffstat (limited to 'Emby.Server.Implementations/SyncPlay')
| -rw-r--r-- | Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs b/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs index 7e1f24f8c..0410048c4 100644 --- a/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs +++ b/Emby.Server.Implementations/SyncPlay/SyncPlayManager.cs @@ -102,11 +102,6 @@ namespace Emby.Server.Implementations.SyncPlay /// <inheritdoc /> public void NewGroup(SessionInfo session, NewGroupRequest request, CancellationToken cancellationToken) { - if (!IsRequestValid(session, request)) - { - return; - } - // Locking required to access list of groups. lock (_groupsLock) { @@ -132,11 +127,6 @@ namespace Emby.Server.Implementations.SyncPlay /// <inheritdoc /> public void JoinGroup(SessionInfo session, JoinGroupRequest request, CancellationToken cancellationToken) { - if (!IsRequestValid(session, request)) - { - return; - } - var user = _userManager.GetUserById(session.UserId); // Locking required to access list of groups. @@ -190,11 +180,6 @@ namespace Emby.Server.Implementations.SyncPlay /// <inheritdoc /> public void LeaveGroup(SessionInfo session, LeaveGroupRequest request, CancellationToken cancellationToken) { - if (!IsRequestValid(session, request)) - { - return; - } - // Locking required to access list of groups. lock (_groupsLock) { @@ -230,11 +215,6 @@ namespace Emby.Server.Implementations.SyncPlay /// <inheritdoc /> public List<GroupInfoDto> ListGroups(SessionInfo session, ListGroupsRequest request) { - if (!IsRequestValid(session, request)) - { - return new List<GroupInfoDto>(); - } - var user = _userManager.GetUserById(session.UserId); List<GroupInfoDto> list = new List<GroupInfoDto>(); @@ -260,11 +240,6 @@ namespace Emby.Server.Implementations.SyncPlay /// <inheritdoc /> public void HandleRequest(SessionInfo session, IGroupPlaybackRequest request, CancellationToken cancellationToken) { - if (!IsRequestValid(session, request)) - { - return; - } - IGroupController group; lock (_mapsLock) { @@ -417,42 +392,5 @@ namespace Emby.Server.Implementations.SyncPlay throw new InvalidOperationException("Session was in wrong group!"); } } - - /// <summary> - /// Checks if a given session is allowed to make a given request. - /// </summary> - /// <param name="session">The session.</param> - /// <param name="request">The request.</param> - /// <returns><c>true</c> if the request is valid, <c>false</c> otherwise. Will return <c>false</c> also when session or request is null.</returns> - private bool IsRequestValid(SessionInfo session, ISyncPlayRequest request) - { - if (session == null || (request == null)) - { - return false; - } - - var user = _userManager.GetUserById(session.UserId); - - if (user.SyncPlayAccess == SyncPlayAccess.None) - { - _logger.LogWarning("Session {SessionId} requested {RequestType} but does not have access to SyncPlay.", session.Id, request.Type); - - // TODO: rename to a more generic error. Next PR will fix this. - var error = new GroupUpdate<string>(Guid.Empty, GroupUpdateType.JoinGroupDenied, string.Empty); - _sessionManager.SendSyncPlayGroupUpdate(session, error, CancellationToken.None); - return false; - } - - if (request.Type.Equals(RequestType.NewGroup) && user.SyncPlayAccess != SyncPlayAccess.CreateAndJoinGroups) - { - _logger.LogWarning("Session {SessionId} does not have permission to create groups.", session.Id); - - var error = new GroupUpdate<string>(Guid.Empty, GroupUpdateType.CreateGroupDenied, string.Empty); - _sessionManager.SendSyncPlayGroupUpdate(session, error, CancellationToken.None); - return false; - } - - return true; - } } } |
