aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/UserManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-01-29 01:06:24 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-01-29 01:06:24 -0500
commita6145e54d901095e5b67704e3103843b4b515681 (patch)
tree6623af8c44fb3b7d3945172eac7d752160804cd4 /MediaBrowser.Server.Implementations/Library/UserManager.cs
parent82fe244fa14029de7da2492598554e2eeed06d3e (diff)
support in-home easy password
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/UserManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/UserManager.cs54
1 files changed, 36 insertions, 18 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/UserManager.cs b/MediaBrowser.Server.Implementations/Library/UserManager.cs
index 6b6f5b1b6..a001b25b6 100644
--- a/MediaBrowser.Server.Implementations/Library/UserManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/UserManager.cs
@@ -275,9 +275,9 @@ namespace MediaBrowser.Server.Implementations.Library
private string GetLocalPasswordHash(User user)
{
- return string.IsNullOrEmpty(user.LocalPassword)
+ return string.IsNullOrEmpty(user.EasyPassword)
? GetSha1String(string.Empty)
- : user.LocalPassword;
+ : user.EasyPassword;
}
private bool IsPasswordEmpty(string passwordHash)
@@ -355,18 +355,20 @@ namespace MediaBrowser.Server.Implementations.Library
var passwordHash = GetPasswordHash(user);
- var hasConfiguredDefaultPassword = !IsPasswordEmpty(passwordHash);
+ var hasConfiguredPassword = !IsPasswordEmpty(passwordHash);
+ var hasConfiguredEasyPassword = !IsPasswordEmpty(GetLocalPasswordHash(user));
var hasPassword = user.Configuration.EnableLocalPassword && !string.IsNullOrEmpty(remoteEndPoint) && _networkManager.IsInLocalNetwork(remoteEndPoint) ?
- !IsPasswordEmpty(GetLocalPasswordHash(user)) :
- hasConfiguredDefaultPassword;
+ hasConfiguredEasyPassword :
+ hasConfiguredPassword;
var dto = new UserDto
{
Id = user.Id.ToString("N"),
Name = user.Name,
HasPassword = hasPassword,
- HasConfiguredPassword = hasConfiguredDefaultPassword,
+ HasConfiguredPassword = hasConfiguredPassword,
+ HasConfiguredEasyPassword = hasConfiguredEasyPassword,
LastActivityDate = user.LastActivityDate,
LastLoginDate = user.LastLoginDate,
Configuration = user.Configuration,
@@ -613,18 +615,11 @@ namespace MediaBrowser.Server.Implementations.Library
return ChangePassword(user, GetSha1String(string.Empty));
}
- /// <summary>
- /// Changes the password.
- /// </summary>
- /// <param name="user">The user.</param>
- /// <param name="newPasswordSha1">The new password sha1.</param>
- /// <returns>Task.</returns>
- /// <exception cref="System.ArgumentNullException">
- /// user
- /// or
- /// newPassword
- /// </exception>
- /// <exception cref="System.ArgumentException">Passwords for guests cannot be changed.</exception>
+ public Task ResetEasyPassword(User user)
+ {
+ return ChangeEasyPassword(user, GetSha1String(string.Empty));
+ }
+
public async Task ChangePassword(User user, string newPasswordSha1)
{
if (user == null)
@@ -648,6 +643,29 @@ namespace MediaBrowser.Server.Implementations.Library
EventHelper.FireEventIfNotNull(UserPasswordChanged, this, new GenericEventArgs<User>(user), _logger);
}
+ public async Task ChangeEasyPassword(User user, string newPasswordSha1)
+ {
+ if (user == null)
+ {
+ throw new ArgumentNullException("user");
+ }
+ if (string.IsNullOrWhiteSpace(newPasswordSha1))
+ {
+ throw new ArgumentNullException("newPasswordSha1");
+ }
+
+ if (user.ConnectLinkType.HasValue && user.ConnectLinkType.Value == UserLinkType.Guest)
+ {
+ throw new ArgumentException("Passwords for guests cannot be changed.");
+ }
+
+ user.EasyPassword = newPasswordSha1;
+
+ await UpdateUser(user).ConfigureAwait(false);
+
+ EventHelper.FireEventIfNotNull(UserPasswordChanged, this, new GenericEventArgs<User>(user), _logger);
+ }
+
/// <summary>
/// Instantiates the new user.
/// </summary>