public void User_Repair()
        {
            string sourceFile = Path.Combine(UserTests.TestDataDirectory, @"product.wxs");
            string msiFile    = Builder.BuildPackage(sourceFile, "test.msi", "WixUtilExtension");

            MSIExec.InstallProduct(msiFile, MSIExec.MSIExecReturnCode.SUCCESS);

            UserVerifier.DeleteLocalUser("testName1");
            UserVerifier.SetUserInformation(string.Empty, "testName2", true, false, false);

            MSIExec.RepairProduct(msiFile, MSIExec.MSIExecReturnCode.SUCCESS);

            // Validate New User Information.
            UserVerifier.VerifyUserInformation(string.Empty, "testName1", true, false, false);
            UserVerifier.VerifyUserIsMemberOf(string.Empty, "testName1", "Administrators", "Power Users");

            UserVerifier.VerifyUserInformation(string.Empty, "testName2", true, true, true);
            UserVerifier.VerifyUserIsMemberOf(string.Empty, "testName2", "Power Users");

            UserVerifier.VerifyUserIsMemberOf(Environment.GetEnvironmentVariable("tempdomain"), Environment.GetEnvironmentVariable("tempusername"), "Power Users");

            MSIExec.UninstallProduct(msiFile, MSIExec.MSIExecReturnCode.SUCCESS);

            // Verify Users marked as RemoveOnUninstall were removed.
            Assert.IsFalse(UserVerifier.UserExists(string.Empty, "testName1"), "User '{0}' was not removed on Uninstall", "testName1");
            Assert.IsTrue(UserVerifier.UserExists(string.Empty, "testName2"), "User '{0}' was removed on Uninstall", "testName2");

            // clean up
            UserVerifier.DeleteLocalUser("testName2");

            UserVerifier.VerifyUserIsNotMemberOf(Environment.GetEnvironmentVariable("tempdomain"), Environment.GetEnvironmentVariable("tempusername"), "Power Users");
        }
Esempio n. 2
0
        public JsonResult UserSiteAdd(AddUserSiteReq parames)
        {
            PublicUserModel loginUser = this.GetLoginUser();

            if (parames.webBasicId > 0)
            {
                bool flag = false;
                try
                {
                    flag = UserVerifier.CheckSite(parames.webBasicId, parames.loginName, parames.loginPwd);
                }
                catch (Exception)
                {
                }
                if (!flag)
                {
                    return(Json(new { msg = "帐号或密码错误!" }));
                }
                #region 添加
                UserSiteManageBll   userSiteManageBll   = new UserSiteManageBll();
                UserSiteManageModel userSiteManageModel = new UserSiteManageModel()
                {
                    SiteID       = parames.webBasicId,
                    UserID       = loginUser.UserID,
                    SiteStatus   = 1,
                    SiteUserName = parames.loginName,
                    SiteUserPwd  = parames.loginPwd
                };
                userSiteManageBll.UserSiteManageAdd(userSiteManageModel);
                #endregion
                #region 绑定网站帐号任务

                DoTask(loginUser.UserID, PointsEnum.First_BindSiteAccount);
                #endregion

                if (loginUser.VipType < 1)
                {
                    PublicUser user =
                        ncBase.CurrentEntities.PublicUser.Where(o => o.UserID == loginUser.UserID).FirstOrDefault();
                    if (user.IsNoNull())
                    {
                        VipType vipType = ncBase.CurrentEntities.VipType.Where(o => o.VipTypeID == 2).FirstOrDefault();
                        user.VipType    = vipType.IsNoNull() ? vipType.VipTypeID : 1;
                        user.MaxStock   = vipType.IsNoNull() ? Convert.ToInt32(vipType.MaxStock) : 50;
                        user.PublishNum = vipType.IsNoNull() ? Convert.ToInt32(vipType.PublishNum) : 2;
                        ncBase.CurrentEntities.SaveChanges();
                    }
                }
                return(Json(new { msg = "添加成功" }));
            }
            else
            {
                return(Json(new { msg = "添加失败" }));
            }
        }
Esempio n. 3
0
        public ApiResponse UserSiteManageAdd([FromBody] SiteUserReq model)
        {
            int    gainPoints    = 0;
            string gainPointsMsg = "";

            if (model.SiteID > 0)
            {
                bool flag = false;
                try
                {
                    flag = UserVerifier.CheckSite(model.SiteID, model.UserName, model.Password);
                }
                catch (Exception)
                {
                }

                if (!flag)
                {
                    return(new ApiResponse(Metas.ACCOUNT_OR_PASSWORD_WRONG));
                }
                UserSiteManageBll   userSiteManageBll   = new UserSiteManageBll();
                UserSiteManageModel userSiteManageModel = new UserSiteManageModel()
                {
                    SiteID       = model.SiteID,
                    UserID       = GetCurrentUserId(),
                    SiteStatus   = 1,
                    SiteUserName = model.UserName,
                    SiteUserPwd  = model.Password
                };
                int row = userSiteManageBll.UserSiteManageAdd(userSiteManageModel);

                if (row > 0)
                {
                    DoTask(GetCurrentUserId(), PointsEnum.First_BindSiteAccount, out gainPoints);
                    gainPointsMsg = "完成“绑定网站帐号”任务";
                    var result = new
                    {
                        GainPoints    = gainPoints,
                        GainPointsMsg = gainPointsMsg
                    };
                    return(new ApiResponse(Metas.SUCCESS, result));
                }
                else
                {
                    return(new ApiResponse(Metas.SITE_EXISTS));
                }
            }
            else
            {
                return(new ApiResponse(Metas.SITE_NOT_EXISTS));  // Todo:这边没有判断站点是否存在、关闭
            }
        }
        public void User_RestrictedDomain()
        {
            string sourceFile = Path.Combine(UserTests.TestDataDirectory, @"RestrictedDomain.wxs");
            string msiFile    = Builder.BuildPackage(sourceFile, "test.msi", "WixUtilExtension");

            // Create 'existinguser'
            UserVerifier.CreateLocalUser("existinguser", "test123!@#");

            string logFile = MSIExec.InstallProduct(msiFile, MSIExec.MSIExecReturnCode.ERROR_INSTALL_FAILURE);

            // clean up
            UserVerifier.DeleteLocalUser("existinguser");

            // Verify expected error message in the log file
            Assert.IsTrue(LogVerifier.MessageInLogFile(logFile, string.Format("ConfigureUsers:  Error 0x80070035: Failed to check existence of domain: {0}, user: testName1", Environment.GetEnvironmentVariable("tempdomain"))) ||
                          LogVerifier.MessageInLogFile(logFile, "CreateUser:  Error 0x80070005: failed to create user: testName1"), "Could not find CreateUser error message in log file: '{0}'.", logFile);
        }
        public void User_InstallFailure()
        {
            string sourceFile = Path.Combine(UserTests.TestDataDirectory, @"product_fail.wxs");
            string msiFile    = Builder.BuildPackage(sourceFile, "test.msi", "WixUtilExtension");

            // make sure the user accounts are deleted before we start
            UserVerifier.DeleteLocalUser("testName1");
            UserVerifier.DeleteLocalUser("testName2");

            MSIExec.InstallProduct(msiFile, MSIExec.MSIExecReturnCode.ERROR_INSTALL_FAILURE);

            // Verify Users marked as RemoveOnUninstall were removed.
            Assert.IsFalse(UserVerifier.UserExists(string.Empty, "testName1"), "User '{0}' was not removed on Rollback", "testName1");
            Assert.IsFalse(UserVerifier.UserExists(string.Empty, "testName2"), "User '{0}' was not removed on Rollback", "testName2");

            UserVerifier.VerifyUserIsNotMemberOf(Environment.GetEnvironmentVariable("tempdomain"), Environment.GetEnvironmentVariable("tempusername"), "Power Users");
        }
        public void Property_Install()
        {
            string sourceFile = Path.Combine(PropertyTests.TestDataDirectory, @"product.wxs");
            string msiFile    = Builder.BuildPackage(sourceFile, "test.msi", "WixUtilExtension");

            string logFile = MSIExec.InstallProduct(msiFile, MSIExec.MSIExecReturnCode.SUCCESS);

            // Verify Special Folder properties
            VerifyPropery(logFile, "WIX_DIR_ADMINTOOLS", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.AdminTools));
            VerifyPropery(logFile, "WIX_DIR_ALTSTARTUP", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Startup));
            VerifyPropery(logFile, "WIX_DIR_CDBURN_AREA", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.CDBurning));
            VerifyPropery(logFile, "WIX_DIR_COMMON_ADMINTOOLS", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.CommonAdminTools));
            VerifyPropery(logFile, "WIX_DIR_COMMON_ALTSTARTUP", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.CommonStartup));
            VerifyPropery(logFile, "WIX_DIR_COMMON_DOCUMENTS", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.PublicDocuments));
            VerifyPropery(logFile, "WIX_DIR_COMMON_FAVORITES", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Favorites));
            VerifyPropery(logFile, "WIX_DIR_COMMON_MUSIC", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.PublicMusic));
            VerifyPropery(logFile, "WIX_DIR_COMMON_PICTURES", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.PublicPictures));
            VerifyPropery(logFile, "WIX_DIR_COMMON_VIDEO", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.PublicVideos));
            VerifyPropery(logFile, "WIX_DIR_COOKIES", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Cookies));
            VerifyPropery(logFile, "WIX_DIR_DESKTOP", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Desktop));
            VerifyPropery(logFile, "WIX_DIR_HISTORY", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.History));
            VerifyPropery(logFile, "WIX_DIR_INTERNET_CACHE", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.InternetCache));
            VerifyPropery(logFile, "WIX_DIR_MYMUSIC", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Music));
            VerifyPropery(logFile, "WIX_DIR_MYPICTURES", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Pictures));
            VerifyPropery(logFile, "WIX_DIR_MYVIDEO", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Videos));
            VerifyPropery(logFile, "WIX_DIR_NETHOOD", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.NetHood));
            VerifyPropery(logFile, "WIX_DIR_PERSONAL", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.UsersFiles));
            VerifyPropery(logFile, "WIX_DIR_PRINTHOOD", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.PrintHood));
            VerifyPropery(logFile, "WIX_DIR_PROFILE", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Profile));
            VerifyPropery(logFile, "WIX_DIR_RECENT", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.Recent));
            VerifyPropery(logFile, "WIX_DIR_RESOURCES", SpecialFoldersVerifier.GetFolderPath(SpecialFoldersVerifier.KnownFolder.ResourceDir));

            // Verify SID properties
            VerifyPropery(logFile, "WIX_ACCOUNT_LOCALSYSTEM", UserVerifier.GetLocalUserNameFromSID(UserVerifier.SIDStrings.NT_AUTHORITY_SYSTEM));
            VerifyPropery(logFile, "WIX_ACCOUNT_LOCALSERVICE", UserVerifier.GetLocalUserNameFromSID(UserVerifier.SIDStrings.NT_AUTHORITY_LOCAL_SERVICE));
            VerifyPropery(logFile, "WIX_ACCOUNT_NETWORKSERVICE", UserVerifier.GetLocalUserNameFromSID(UserVerifier.SIDStrings.NT_AUTHORITY_NETWORK_SERVICE));
            VerifyPropery(logFile, "WIX_ACCOUNT_ADMINISTRATORS", UserVerifier.GetLocalUserNameFromSID(UserVerifier.SIDStrings.BUILTIN_ADMINISTRATORS));
            VerifyPropery(logFile, "WIX_ACCOUNT_USERS", UserVerifier.GetLocalUserNameFromSID(UserVerifier.SIDStrings.BUILTIN_USERS));
            VerifyPropery(logFile, "WIX_ACCOUNT_GUESTS", UserVerifier.GetLocalUserNameFromSID(UserVerifier.SIDStrings.BUILTIN_GUESTS));

            MSIExec.UninstallProduct(msiFile, MSIExec.MSIExecReturnCode.SUCCESS);
        }
        public void User_FailIfExists()
        {
            string sourceFile = Path.Combine(UserTests.TestDataDirectory, @"FailIfExists.wxs");
            string msiFile    = Builder.BuildPackage(sourceFile, "test.msi", "WixUtilExtension");

            // Create 'existinguser'
            UserVerifier.CreateLocalUser("existinguser", "test123!@#");

            MSIExec.InstallProduct(msiFile, MSIExec.MSIExecReturnCode.ERROR_INSTALL_FAILURE);

            // Verify User still exists.
            bool userExists = UserVerifier.UserExists(string.Empty, "existinguser");

            // Delete the user first
            UserVerifier.DeleteLocalUser("existinguser");

            Assert.IsTrue(userExists, "User '{0}' was removed on Rollback", "existinguser");

            // clean up
            UserVerifier.DeleteLocalUser("existinguser");
        }
Esempio n. 8
0
        public JsonResult CheckSite(int siteId)
        {
            int                        uid                = this.GetLoginUser().UserID;
            UserBll                    userBll            = new UserBll();
            UserSiteManageBll          userSiteManageBll  = new UserSiteManageBll();
            List <UserSiteManageModel> userSiteManageList = userSiteManageBll.GetUserSiteListByUserId(this.GetLoginUser().UserID);//用户关联的站点
            UserSiteManageModel        userSiteItem       = userSiteManageList.Where(s => s.SiteID == siteId).FirstOrDefault();

            if (userSiteItem.IsNull())
            {
                return(Json(new { msg = "您还未绑定帐号!" }));
            }

            bool flag = false;

            try
            {
                flag = UserVerifier.CheckSite(siteId, userSiteItem.SiteUserName, userSiteItem.SiteUserPwd);
            }
            catch (Exception)
            {
            }

            if (flag)
            {
                UserSiteManage siteManage =
                    ncBase.CurrentEntities.UserSiteManage.Where(
                        o => o.SiteID == siteId && o.SiteUserName == userSiteItem.SiteUserName && o.UserID == uid).FirstOrDefault();
                if (siteManage.IsNoNull())
                {
                    siteManage.SiteStatus = BitConverter.GetBytes(1)[0];
                    siteManage.BanTime    = DateTime.Now;
                    ncBase.CurrentEntities.SaveChanges();
                    return(Json(new { msg = "账号验证成功并已经激活使用!" }));
                }

                return(Json(new { msg = "未知错误!" }));
            }
            return(Json(new { msg = "账号密码不正确!" }));
        }