From 1d70f5469f68c1f576bad85ff35930b593e955de Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 14 Oct 2014 00:22:17 -0400 Subject: update connect --- .../Library/UserManager.cs | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'MediaBrowser.Server.Implementations/Library/UserManager.cs') diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs index 16a1dc516..e76bc4f80 100644 --- a/MediaBrowser.Server.Implementations/Library/UserManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs @@ -2,6 +2,7 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Net; using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Connect; using MediaBrowser.Controller.Drawing; using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; @@ -61,6 +62,7 @@ namespace MediaBrowser.Server.Implementations.Library private readonly Func _imageProcessorFactory; private readonly Func _dtoServiceFactory; + private readonly Func _connectFactory; /// /// Initializes a new instance of the class. @@ -68,7 +70,7 @@ namespace MediaBrowser.Server.Implementations.Library /// The logger. /// The configuration manager. /// The user repository. - public UserManager(ILogger logger, IServerConfigurationManager configurationManager, IUserRepository userRepository, IXmlSerializer xmlSerializer, INetworkManager networkManager, Func imageProcessorFactory, Func dtoServiceFactory) + public UserManager(ILogger logger, IServerConfigurationManager configurationManager, IUserRepository userRepository, IXmlSerializer xmlSerializer, INetworkManager networkManager, Func imageProcessorFactory, Func dtoServiceFactory, Func connectFactory) { _logger = logger; UserRepository = userRepository; @@ -76,6 +78,7 @@ namespace MediaBrowser.Server.Implementations.Library _networkManager = networkManager; _imageProcessorFactory = imageProcessorFactory; _dtoServiceFactory = dtoServiceFactory; + _connectFactory = connectFactory; ConfigurationManager = configurationManager; Users = new List(); } @@ -143,7 +146,7 @@ namespace MediaBrowser.Server.Implementations.Library Users = await LoadUsers().ConfigureAwait(false); } - public async Task AuthenticateUser(string username, string password, string remoteEndPoint) + public async Task AuthenticateUser(string username, string passwordSha1, string remoteEndPoint) { if (string.IsNullOrWhiteSpace(username)) { @@ -157,11 +160,11 @@ namespace MediaBrowser.Server.Implementations.Library throw new AuthenticationException(string.Format("The {0} account is currently disabled. Please consult with your administrator.", user.Name)); } - var success = string.Equals(GetPasswordHash(user), password.Replace("-", string.Empty), StringComparison.OrdinalIgnoreCase); + var success = string.Equals(GetPasswordHash(user), passwordSha1.Replace("-", string.Empty), StringComparison.OrdinalIgnoreCase); if (!success && _networkManager.IsInLocalNetwork(remoteEndPoint) && user.Configuration.EnableLocalPassword) { - success = string.Equals(GetLocalPasswordHash(user), password.Replace("-", string.Empty), StringComparison.OrdinalIgnoreCase); + success = string.Equals(GetLocalPasswordHash(user), passwordSha1.Replace("-", string.Empty), StringComparison.OrdinalIgnoreCase); } // Update LastActivityDate and LastLoginDate, then save @@ -433,6 +436,11 @@ namespace MediaBrowser.Server.Implementations.Library throw new ArgumentNullException("user"); } + if (user.ConnectLinkType.HasValue) + { + await _connectFactory().RemoveConnect(user.Id.ToString("N")).ConfigureAwait(false); + } + var allUsers = Users.ToList(); if (allUsers.FirstOrDefault(u => u.Id == user.Id) == null) @@ -514,10 +522,12 @@ namespace MediaBrowser.Server.Implementations.Library /// User. private User InstantiateNewUser(string name) { + var idSalt = ("MBUser" + name); + return new User { Name = name, - Id = ("MBUser" + name).GetMD5(), + Id = idSalt.GetMD5(), DateCreated = DateTime.UtcNow, DateModified = DateTime.UtcNow, UsesIdForConfigurationPath = true -- cgit v1.2.3