Fix review comments

This commit is contained in:
Claus Vium 2019-11-24 18:25:43 +01:00
parent 27e3cf1558
commit 2af5922af0
7 changed files with 20 additions and 17 deletions

View File

@ -231,7 +231,10 @@ namespace Emby.Server.Implementations
} }
} }
public IServiceProvider ServiceProvider; /// <summary>
/// Gets or sets the service provider.
/// </summary>
public IServiceProvider ServiceProvider { get; set; }
/// <summary> /// <summary>
/// Gets the server configuration manager. /// Gets the server configuration manager.
@ -835,7 +838,7 @@ namespace Emby.Server.Implementations
serviceCollection.AddSingleton<IAuthorizationContext>(authContext); serviceCollection.AddSingleton<IAuthorizationContext>(authContext);
serviceCollection.AddSingleton<ISessionContext>(new SessionContext(UserManager, authContext, SessionManager)); serviceCollection.AddSingleton<ISessionContext>(new SessionContext(UserManager, authContext, SessionManager));
AuthService = new AuthService(LoggerFactory, authContext, ServerConfigurationManager, SessionManager, NetworkManager); AuthService = new AuthService(LoggerFactory.CreateLogger<AuthService>(), authContext, ServerConfigurationManager, SessionManager, NetworkManager);
serviceCollection.AddSingleton(AuthService); serviceCollection.AddSingleton(AuthService);
SubtitleEncoder = new MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder(LibraryManager, LoggerFactory, ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer, HttpClient, MediaSourceManager, ProcessFactory); SubtitleEncoder = new MediaBrowser.MediaEncoding.Subtitles.SubtitleEncoder(LibraryManager, LoggerFactory, ApplicationPaths, FileSystemManager, MediaEncoder, JsonSerializer, HttpClient, MediaSourceManager, ProcessFactory);

View File

@ -22,13 +22,13 @@ namespace Emby.Server.Implementations.HttpServer.Security
private readonly INetworkManager _networkManager; private readonly INetworkManager _networkManager;
public AuthService( public AuthService(
ILoggerFactory loggerFactory, ILogger<AuthService> logger,
IAuthorizationContext authorizationContext, IAuthorizationContext authorizationContext,
IServerConfigurationManager config, IServerConfigurationManager config,
ISessionManager sessionManager, ISessionManager sessionManager,
INetworkManager networkManager) INetworkManager networkManager)
{ {
_logger = loggerFactory.CreateLogger<AuthService>(); _logger = logger;
_authorizationContext = authorizationContext; _authorizationContext = authorizationContext;
_config = config; _config = config;
_sessionManager = sessionManager; _sessionManager = sessionManager;

View File

@ -1,7 +1,7 @@
using System.Security.Claims; using System.Security.Claims;
using System.Text.Encodings.Web; using System.Text.Encodings.Web;
using System.Threading.Tasks; using System.Threading.Tasks;
using Jellyfin.Api.Enums; using Jellyfin.Api.Constants;
using MediaBrowser.Controller.Net; using MediaBrowser.Controller.Net;
using Microsoft.AspNetCore.Authentication; using Microsoft.AspNetCore.Authentication;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
@ -51,7 +51,7 @@ namespace Jellyfin.Api.Auth
new Claim(ClaimTypes.Name, user.Name), new Claim(ClaimTypes.Name, user.Name),
new Claim( new Claim(
ClaimTypes.Role, ClaimTypes.Role,
value: user.Policy.IsAdministrator ? UserRole.Administrator.ToString() : UserRole.User.ToString()) value: user.Policy.IsAdministrator ? UserRole.Administrator : UserRole.User)
}; };
var identity = new ClaimsIdentity(claims, Scheme.Name); var identity = new ClaimsIdentity(claims, Scheme.Name);
var principal = new ClaimsPrincipal(identity); var principal = new ClaimsPrincipal(identity);

View File

@ -1,5 +1,5 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Jellyfin.Api.Enums; using Jellyfin.Api.Constants;
using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Configuration;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
@ -28,7 +28,7 @@ namespace Jellyfin.Api.Auth.FirstTimeSetupOrElevatedPolicy
{ {
context.Succeed(firstTimeSetupOrElevatedRequirement); context.Succeed(firstTimeSetupOrElevatedRequirement);
} }
else if (context.User.IsInRole(UserRole.Administrator.ToString())) else if (context.User.IsInRole(UserRole.Administrator))
{ {
context.Succeed(firstTimeSetupOrElevatedRequirement); context.Succeed(firstTimeSetupOrElevatedRequirement);
} }

View File

@ -1,5 +1,5 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Jellyfin.Api.Enums; using Jellyfin.Api.Constants;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
namespace Jellyfin.Api.Auth.RequiresElevationPolicy namespace Jellyfin.Api.Auth.RequiresElevationPolicy
@ -12,7 +12,7 @@ namespace Jellyfin.Api.Auth.RequiresElevationPolicy
/// <inheritdoc /> /// <inheritdoc />
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, RequiresElevationRequirement requirement) protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, RequiresElevationRequirement requirement)
{ {
if (context.User.IsInRole(UserRole.Administrator.ToString())) if (context.User.IsInRole(UserRole.Administrator))
{ {
context.Succeed(requirement); context.Succeed(requirement);
} }

View File

@ -1,23 +1,23 @@
namespace Jellyfin.Api.Enums namespace Jellyfin.Api.Constants
{ {
/// <summary> /// <summary>
/// Enum for user roles used in the authentication and authorization for the API. /// Constants for user roles used in the authentication and authorization for the API.
/// </summary> /// </summary>
public enum UserRole public static class UserRole
{ {
/// <summary> /// <summary>
/// Guest user. /// Guest user.
/// </summary> /// </summary>
Guest = 0, public const string Guest = "Guest";
/// <summary> /// <summary>
/// Regular user with no special privileges. /// Regular user with no special privileges.
/// </summary> /// </summary>
User = 1, public const string User = "User";
/// <summary> /// <summary>
/// Administrator user with elevated privileges. /// Administrator user with elevated privileges.
/// </summary> /// </summary>
Administrator = 2 public const string Administrator = "Administrator";
} }
} }

View File

@ -19,7 +19,7 @@
<!-- Code analysers--> <!-- Code analysers-->
<ItemGroup Condition=" '$(Configuration)' == 'Debug' "> <ItemGroup Condition=" '$(Configuration)' == 'Debug' ">
<PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.4" /> <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.9.7" PrivateAssets="All" />
<PackageReference Include="SerilogAnalyzer" Version="0.15.0" /> <PackageReference Include="SerilogAnalyzer" Version="0.15.0" />
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" /> <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" />
<PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" /> <PackageReference Include="SmartAnalyzers.MultithreadingAnalyzer" Version="1.1.31" />