瀏覽代碼

don't allow removal of admin rights if there is only one admin

Luke Pulverenti 12 年之前
父節點
當前提交
41e3b2fb3a
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      MediaBrowser.Api/UserService.cs

+ 9 - 0
MediaBrowser.Api/UserService.cs

@@ -285,6 +285,15 @@ namespace MediaBrowser.Api
 
             var user = _userManager.GetUserById(id);
 
+            // If removing admin access
+            if (!dtoUser.Configuration.IsAdministrator && user.Configuration.IsAdministrator)
+            {
+                if (_userManager.Users.Count(i => i.Configuration.IsAdministrator) == 1)
+                {
+                    throw new ArgumentException("There must be at least one user in the system with administrative access.");
+                }
+            }
+
             var task = user.Name.Equals(dtoUser.Name, StringComparison.Ordinal) ? _userManager.UpdateUser(user) : _userManager.RenameUser(user, dtoUser.Name);
 
             Task.WaitAll(task);