diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-28 19:17:55 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-10-28 19:17:55 -0400 |
| commit | 5ca4d60c34c7ead76c388bd2c3ca192b38aae1f0 (patch) | |
| tree | 9e9bc711c6b422c7f3eabdac5cd3cf2a8e5a11b8 /MediaBrowser.Controller/Net | |
| parent | 67528a07992326472a4e6dfe826ddcc5358a6f67 (diff) | |
connect updates
Diffstat (limited to 'MediaBrowser.Controller/Net')
| -rw-r--r-- | MediaBrowser.Controller/Net/AuthenticatedAttribute.cs | 34 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Net/IAuthService.cs | 4 |
2 files changed, 29 insertions, 9 deletions
diff --git a/MediaBrowser.Controller/Net/AuthenticatedAttribute.cs b/MediaBrowser.Controller/Net/AuthenticatedAttribute.cs index 31bb7c66b..83e404dfc 100644 --- a/MediaBrowser.Controller/Net/AuthenticatedAttribute.cs +++ b/MediaBrowser.Controller/Net/AuthenticatedAttribute.cs @@ -1,10 +1,11 @@ using ServiceStack.Web; using System; +using System.Collections.Generic; using System.Linq; namespace MediaBrowser.Controller.Net { - public class AuthenticatedAttribute : Attribute, IHasRequestFilter + public class AuthenticatedAttribute : Attribute, IHasRequestFilter, IAuthenticated { public IAuthService AuthService { get; set; } @@ -14,9 +15,19 @@ namespace MediaBrowser.Controller.Net /// <value><c>true</c> if [allow local]; otherwise, <c>false</c>.</value> public bool AllowLocal { get; set; } + /// <summary> + /// Gets or sets the roles. + /// </summary> + /// <value>The roles.</value> public string Roles { get; set; } /// <summary> + /// Gets or sets a value indicating whether [escape parental control]. + /// </summary> + /// <value><c>true</c> if [escape parental control]; otherwise, <c>false</c>.</value> + public bool EscapeParentalControl { get; set; } + + /// <summary> /// The request filter is executed before the service. /// </summary> /// <param name="request">The http request wrapper</param> @@ -24,11 +35,7 @@ namespace MediaBrowser.Controller.Net /// <param name="requestDto">The request DTO</param> public void RequestFilter(IRequest request, IResponse response, object requestDto) { - var roles = (Roles ?? string.Empty).Split(',') - .Where(i => !string.IsNullOrWhiteSpace(i)) - .ToArray(); - - AuthService.Authenticate(request, response, requestDto, AllowLocal, roles); + AuthService.Authenticate(request, response, requestDto, this); } /// <summary> @@ -50,5 +57,20 @@ namespace MediaBrowser.Controller.Net { get { return 0; } } + + + public IEnumerable<string> GetRoles() + { + return (Roles ?? string.Empty).Split(',') + .Where(i => !string.IsNullOrWhiteSpace(i)); + } + } + + public interface IAuthenticated + { + bool EscapeParentalControl { get; } + + bool AllowLocal { get; } + IEnumerable<string> GetRoles(); } } diff --git a/MediaBrowser.Controller/Net/IAuthService.cs b/MediaBrowser.Controller/Net/IAuthService.cs index 69014d0ff..9d335566f 100644 --- a/MediaBrowser.Controller/Net/IAuthService.cs +++ b/MediaBrowser.Controller/Net/IAuthService.cs @@ -1,5 +1,4 @@ using ServiceStack.Web; -using System.Collections.Generic; namespace MediaBrowser.Controller.Net { @@ -8,7 +7,6 @@ namespace MediaBrowser.Controller.Net void Authenticate(IRequest request, IResponse response, object requestDto, - bool allowLocal, - string[] roles); + IAuthenticated authAttribtues); } } |
