Example #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);
            }
        }
Example #2
0
 public static void Error(object owner, Database database, string format, params object[] args)
 {
     SLog.Error(Format(database, format, args), owner);
 }
Example #3
0
 public static void Error(object owner, string format, params object[] args)
 {
     SLog.Error(Format(format, args), owner);
 }