コード例 #1
0
        /*
         * Utility function for checking if a user is internal. If they are on the internal IP list they get to skip login
         * The internal ip list must have defined roles
         */
        private void CreateVirtualUserIfInternal()
        {
            var internalAccessItem         = Sitecore.Data.Database.GetDatabase(Database).GetItem(InternalAccessItem);
            NameValueCollection accessList = WebUtil.ParseUrlParameters(internalAccessItem.Fields["Access List"].Value);
            var virtualUserRoles           = internalAccessItem.Fields["Virtual User Roles"].Value;
            var loginService       = new LoginService(accessList, virtualUserRoles);
            var internalRangeMatch = loginService.InternalMatchCheck();

            if (!internalRangeMatch.Equals(default(KeyValuePair <string, string>)))
            {
                var virtualUsername = string.Format("vUser\\{0}_{1}", internalRangeMatch.Key, internalRangeMatch.Value.Replace(".", "_"));
                var virtualUser     = AuthenticationManager.BuildVirtualUser(virtualUsername, true);

                var virtualRoles = loginService.GetVirtualUserRoles();
                if (!virtualRoles.Any())
                {
                    Log.Error("No Virtual Roles defined", this);
                }

                foreach (var virtualUserRole in virtualRoles)
                {
                    virtualUser.Roles.Add(virtualUserRole);
                }

                AuthenticationManager.LoginVirtualUser(virtualUser);
            }
        }
コード例 #2
0
        public ManagerResponse <CreateUserResult, CommerceUser> CreateUser(
            string userName,
            string email,
            string password,
            string shopName)
        {
            Assert.ArgumentNotNullOrEmpty(userName, nameof(userName));
            Assert.ArgumentNotNullOrEmpty(email, nameof(email));
            Assert.ArgumentNotNullOrEmpty(password, nameof(password));
            Assert.ArgumentNotNullOrEmpty(shopName, nameof(shopName));

            // Commerce needs domain name to be presented in the user name
            var fullUserName = $"{Constants.CommerceUsersDomainName}\\{userName}";

            var createUserRequest = new CreateUserRequest(fullUserName, password, email, shopName);

            var createUserResult = this.customerServiceProvider.CreateUser(createUserRequest);

            if (!createUserResult.Success || (createUserResult.CommerceUser == null))
            {
                Log.Warn("User creation failed", this.GetType());
            }

            return(new ManagerResponse <CreateUserResult, CommerceUser>(createUserResult, createUserResult.CommerceUser));
        }
コード例 #3
0
        public ManagerResponse <UpdateUserResult, CommerceUser> UpdateUser(CommerceUser updatedCommerceUser)
        {
            Assert.ArgumentNotNull(updatedCommerceUser, nameof(updatedCommerceUser));

            var updateUserRequest = new UpdateUserRequest(updatedCommerceUser);

            var updateUserResult = this.customerServiceProvider.UpdateUser(updateUserRequest);

            if (!updateUserResult.Success)
            {
                Log.Warn("User update failed", this.GetType());
            }

            return(new ManagerResponse <UpdateUserResult, CommerceUser>(updateUserResult, updateUserResult.CommerceUser));
        }
コード例 #4
0
        public ManagerResponse <GetUserResult, CommerceUser> GetUser(string userName)
        {
            Assert.ArgumentNotNullOrEmpty(userName, nameof(userName));

            var user = this.customerServiceProvider.GetUser(new GetUserRequest(userName));

            if (!user.Success || (user.CommerceUser == null))
            {
                Log.Warn("User Not Found Error", this.GetType());
            }

            var serviceProviderResult = user;

            return(new ManagerResponse <GetUserResult, CommerceUser>(serviceProviderResult, serviceProviderResult.CommerceUser));
        }
コード例 #5
0
        public ManagerResponse <EnableUserResult, CommerceUser> EnableUser(CommerceUser commerceUser)
        {
            Assert.ArgumentNotNull(commerceUser, nameof(commerceUser));

            var enableUserRequest = new EnableUserRequest(commerceUser);

            var enableUserResult = this.customerServiceProvider.EnableUser(enableUserRequest);

            if (!enableUserResult.Success)
            {
                Log.Warn("Enable user failed", this.GetType());
            }

            return(new ManagerResponse <EnableUserResult, CommerceUser>(enableUserResult, enableUserResult.CommerceUser));
        }
コード例 #6
0
        public ManagerResponse <CreateCustomerResult, CommerceCustomer> CreateCustomer(CommerceCustomer commerceCustomer)
        {
            Assert.ArgumentNotNull(commerceCustomer, nameof(commerceCustomer));

            var createCustomerRequest = new CreateCustomerRequest(commerceCustomer);

            var createCustomerResult = this.customerServiceProvider.CreateCustomer(createCustomerRequest);

            if (!createCustomerResult.Success)
            {
                Log.Warn("Create customer failed", this.GetType());
            }

            return(new ManagerResponse <CreateCustomerResult, CommerceCustomer>(
                       createCustomerResult,
                       createCustomerResult.CommerceCustomer));
        }
コード例 #7
0
ファイル: Log.cs プロジェクト: x3mxray/UrlRewrite
 public static void Error(object owner, Database database, string format, params object[] args)
 {
     SLog.Error(Format(database, format, args), owner);
 }
コード例 #8
0
ファイル: Log.cs プロジェクト: x3mxray/UrlRewrite
 public static void Error(object owner, string format, params object[] args)
 {
     SLog.Error(Format(format, args), owner);
 }
コード例 #9
0
ファイル: Log.cs プロジェクト: x3mxray/UrlRewrite
 public static void Warn(object owner, string format, params object[] args)
 {
     SLog.Warn(Format(format, args), owner);
 }
コード例 #10
0
ファイル: Log.cs プロジェクト: x3mxray/UrlRewrite
 public static void Debug(object owner, string format, params object[] args)
 {
     SLog.Debug(Format(format, args), owner);
 }
コード例 #11
0
ファイル: Log.cs プロジェクト: x3mxray/UrlRewrite
 public static void Info(object owner, string format, params object[] args)
 {
     SLog.Info(string.Format(format, args), owner);
 }