示例#1
0
        public ActionResult Users(int page)
        {
            if (!CheckAccessRight())
            {
                return(new JsonResult {
                    Data = "access denied", JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            var users          = Sitecore.Security.Accounts.UserManager.GetUsers().GetPage(page, 10);
            var profileFinder  = new UserProfileFinder();
            var reportingUsers = new ReportingUsers();

            reportingUsers.users = GetUserData(users);

            //int totalUsers;
            //MembershipUserCollection allUsers = Membership.GetAllUsers(0, 10, out totalUsers);
            //Membership.GetUser()

            return(new JsonResult {
                Data = reportingUsers, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
示例#2
0
        public ActionResult SitecoreUsers(int page)
        {
            if (!CheckAccessRight())
            {
                return(new JsonResult {
                    Data = "access denied", JsonRequestBehavior = JsonRequestBehavior.AllowGet
                });
            }
            var sitecoreDomain = Domain.GetDomain("sitecore");
            var users          = sitecoreDomain.GetUsers().Skip(page * 10).Take(10);
            var profileFinder  = new UserProfileFinder();
            var reportingUsers = new ReportingUsers();

            reportingUsers.users = new List <ReportingUser>();
            reportingUsers.users = GetUserData(users);

            //int totalUsers;
            //MembershipUserCollection allUsers = Membership.GetAllUsers(0, 10, out totalUsers);
            //Membership.GetUser()

            return(new JsonResult {
                Data = reportingUsers, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
示例#3
0
        public static List <List <string> > UserTabel(int maxusers, out string warning, out string info)
        {
            warning = string.Empty;
            info    = string.Empty;

            var profileFinder = new UserProfileFinder();
            List <List <string> > usertabel = new List <List <string> >();
            IEnumerable <User>    users;
            var totaluser = Sitecore.Security.Accounts.UserManager.GetUserCount();

            info = string.Format("Total real Membership users is {0} (sitecore\\Anonymous does not count)", totaluser);
            if (totaluser > maxusers)
            {
                warning += "To many users the user are filtered, show only the sitecore domain and the default sitecore users. ";
                var sitecoreDomain = Domain.GetDomain("sitecore");
                if (sitecoreDomain == null)
                {
                    users    = new List <User>();
                    warning += "The sitecore domain is missing. ";
                }
                else
                {
                    var totalsitecoreusers = sitecoreDomain.GetUserCount();
                    info += " Total Users in Sitecore Domain is " + totalsitecoreusers;
                    users = sitecoreDomain.GetUsers().Take(maxusers);
                    if (users.Count() < totalsitecoreusers)
                    {
                        warning += "To many users in the Sitecore domain for this Tool, Take the first one and skip the rest, try the download link this has a higher limiet. ";
                    }
                }
                var defaultDomain = Domain.GetDomain("default");
                if (defaultDomain == null)
                {
                    warning += "The default domain is missing. ";
                }
                else
                {
                    var defaultUser = defaultDomain.GetUsers().Take(maxusers);
                    if (defaultUser == null || defaultUser.Count() == 0)
                    {
                        warning += "No users found in the default domain, expect Anonymous. ";
                    }
                    else
                    {
                        if (defaultUser.Count() >= maxusers)
                        {
                            warning +=
                                "To many users in the default domain for this Tool, Take the first one and skip the rest, try the download link this has a higher limiet. ";
                        }
                        users = users.Concat(defaultUser);
                    }
                }

                var webuser = Sitecore.Security.Accounts.User.FromName("extranet\\Anonymous", false);
                if (webuser != null)
                {
                    var x = new List <User>();
                    x.Add(webuser);
                    users = users.Concat(x);
                }
            }
            else
            {
                users = Sitecore.Security.Accounts.UserManager.GetUsers();
            }
            if (users == null || users.Any() == false)
            {
                warning = "Error No Users";
                List <string> errorrow = new List <string> {
                    "Error No Users. "
                };
                usertabel.Add(errorrow);
                return(usertabel);
            }

            //Add the sitecore Anonymous
            var sDomain = Domain.GetDomain("sitecore");

            if (sDomain != null)
            {
                var sAnony = sDomain.GetAnonymousUser();
                if (sAnony != null)
                {
                    var xan = new List <User>();
                    xan.Add(sAnony);
                    users = users.Concat(xan);
                }
            }

            var allnormalroles = Sitecore.Security.Accounts.RolesInRolesManager.GetAllRoles();

            if (allnormalroles == null || allnormalroles.Any() == false)
            {
                warning += "Error No Roles";
                List <string> errorrow = new List <string> {
                    "Error No Roles. "
                };
                usertabel.Add(errorrow);
                return(usertabel);
            }
            var allrols = allnormalroles.ToList();

            foreach (var d in DomainManager.GetDomains())
            {
                var every = d.GetEveryoneRole();
                if (every != null)
                {
                    allrols.Add(every);
                }
            }
            var roleEveryone = Sitecore.Security.Accounts.Role.FromName("Everyone");

            if (roleEveryone != null)
            {
                allrols.Add(roleEveryone);
            }


            List <string> row0 = new List <string>();

            row0.Add("User");
            row0.Add("Comment");
            row0.Add("Locked");
            row0.Add("Username");
            row0.Add("Domain");
            row0.Add("Profile");
            row0.Add("Create date");
            row0.Add("Last login");
            row0.Add("Admin");

            foreach (var rol in allrols)
            {
                if (rol.IsEveryone)
                {
                    row0.Add(rol.Name + "?EVERYONE?");
                }
                else
                {
                    row0.Add(rol.Name);
                }
            }
            usertabel.Add(row0);

            foreach (var user in users)
            {
                List <string> row = new List <string>();
                row.Add(user.Name);
                var profileType = string.Empty;
                if (user.Profile != null)
                {
                    row.Add(user.Profile.Comment);
                    row.Add(user.Profile.State);
                    profileType = profileFinder.GetProfile(user.Profile.ProfileItemId);
                }
                else
                {
                    row.Add("&nbsp;");
                    row.Add("&nbsp;");
                }
                row.Add(user.LocalName);
                if (user.Domain != null)
                {
                    row.Add(user.Domain.Name);
                }
                else
                {
                    row.Add("&nbsp;");
                }
                var membershipUser = System.Web.Security.Membership.GetUser(user.Name, false);
                var createdate     = string.Empty;
                var lastlogin      = string.Empty;
                if (membershipUser != null)
                {
                    createdate = "<nobr>" + membershipUser.CreationDate.ToString("yyyy MMMM dd") + "</nobr>";
                    lastlogin  = "******" + membershipUser.LastLoginDate.ToString("yyyy MMMM dd") + "</nobr>";
                }
                row.Add(profileType);
                row.Add(createdate);
                row.Add(lastlogin);
                row.Add(user.IsAdministrator ? "*" : "&nbsp;");
                if (user.Roles != null)
                {
                    foreach (var rol in allrols)
                    {
                        if (rol != null && user.IsInRole(rol))
                        {
                            row.Add("X");
                        }
                        else if (rol != null && rol.IsEveryone && (rol.Domain == user.Domain || rol.Domain == null))
                        {
                            row.Add("*e");
                        }
                        else
                        {
                            row.Add("&nbsp;");
                        }
                    }
                }
                usertabel.Add(row);
            }
            return(usertabel);
        }