Feature #42: Active Directory Interop Upgrade
AD Interop moved to Disco.Services; Supports multi-domain environments, sites, and searching restricted with OUs.
This commit is contained in:
@@ -203,7 +203,7 @@ namespace Disco.Web.Controllers
|
||||
}
|
||||
case "userid":
|
||||
Authorization.Require(Claims.User.Search);
|
||||
var user = Database.Users.FirstOrDefault(u => u.Id == term);
|
||||
var user = Database.Users.FirstOrDefault(u => u.UserId == term);
|
||||
if (user != null)
|
||||
return RedirectToAction(MVC.User.Show(term));
|
||||
else
|
||||
|
||||
@@ -4,6 +4,7 @@ using Disco.Models.UI.User;
|
||||
using Disco.Services;
|
||||
using Disco.Services.Authorization;
|
||||
using Disco.Services.Authorization.Roles;
|
||||
using Disco.Services.Interop.ActiveDirectory;
|
||||
using Disco.Services.Plugins.Features.UIExtension;
|
||||
using Disco.Services.Users;
|
||||
using Disco.Services.Web;
|
||||
@@ -29,8 +30,16 @@ namespace Disco.Web.Controllers
|
||||
|
||||
#region Show
|
||||
[DiscoAuthorize(Claims.User.Show)]
|
||||
public virtual ActionResult Show(string id)
|
||||
public virtual ActionResult Show(string id, string Domain)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(id))
|
||||
throw new ArgumentNullException("id", "The User Id must be provided");
|
||||
|
||||
if (string.IsNullOrEmpty(Domain))
|
||||
id = ActiveDirectory.PrimaryDomain.NetBiosName + @"\" + id;
|
||||
else
|
||||
id = Domain + @"\" + id;
|
||||
|
||||
var m = new Models.User.ShowModel();
|
||||
|
||||
Database.Configuration.LazyLoadingEnabled = true;
|
||||
@@ -48,7 +57,7 @@ namespace Disco.Web.Controllers
|
||||
|
||||
m.User = Database.Users
|
||||
.Include("DeviceUserAssignments.Device.DeviceModel").Include("UserAttachments")
|
||||
.FirstOrDefault(um => um.Id == id);
|
||||
.FirstOrDefault(um => um.UserId == id);
|
||||
|
||||
if (m.User == null)
|
||||
throw new ArgumentException("Unknown User Id", "id");
|
||||
|
||||
Reference in New Issue
Block a user