From 9991360d8a4cb3a692b3995dafdc43e7cde866de Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 14 Sep 2014 13:42:23 -0400 Subject: set roles on connect endpoints --- MediaBrowser.Controller/Net/AuthenticatedAttribute.cs | 9 ++++++++- MediaBrowser.Controller/Net/IAuthService.cs | 7 ++++++- 2 files changed, 14 insertions(+), 2 deletions(-) (limited to 'MediaBrowser.Controller/Net') diff --git a/MediaBrowser.Controller/Net/AuthenticatedAttribute.cs b/MediaBrowser.Controller/Net/AuthenticatedAttribute.cs index 329dbaa46..31bb7c66b 100644 --- a/MediaBrowser.Controller/Net/AuthenticatedAttribute.cs +++ b/MediaBrowser.Controller/Net/AuthenticatedAttribute.cs @@ -1,5 +1,6 @@ using ServiceStack.Web; using System; +using System.Linq; namespace MediaBrowser.Controller.Net { @@ -13,6 +14,8 @@ namespace MediaBrowser.Controller.Net /// true if [allow local]; otherwise, false. public bool AllowLocal { get; set; } + public string Roles { get; set; } + /// /// The request filter is executed before the service. /// @@ -21,7 +24,11 @@ namespace MediaBrowser.Controller.Net /// The request DTO public void RequestFilter(IRequest request, IResponse response, object requestDto) { - AuthService.Authenticate(request, response, requestDto, AllowLocal); + var roles = (Roles ?? string.Empty).Split(',') + .Where(i => !string.IsNullOrWhiteSpace(i)) + .ToArray(); + + AuthService.Authenticate(request, response, requestDto, AllowLocal, roles); } /// diff --git a/MediaBrowser.Controller/Net/IAuthService.cs b/MediaBrowser.Controller/Net/IAuthService.cs index dca70f58f..69014d0ff 100644 --- a/MediaBrowser.Controller/Net/IAuthService.cs +++ b/MediaBrowser.Controller/Net/IAuthService.cs @@ -1,9 +1,14 @@ using ServiceStack.Web; +using System.Collections.Generic; namespace MediaBrowser.Controller.Net { public interface IAuthService { - void Authenticate(IRequest request, IResponse response, object requestDto, bool allowLocal); + void Authenticate(IRequest request, + IResponse response, + object requestDto, + bool allowLocal, + string[] roles); } } -- cgit v1.2.3