Beispiel #1
0
        public MultiSiteUser Login(string siteDomainName, string email, string passwordMd5)
        {
            MultiSiteUser user = BaseObject.GetFirst <MultiSiteUser>("Email ='" + email + "' AND Password = '******' AND Active = 1");
            //check site url
            bool valid = false;

            if (user != null && user.IsActive)
            {
                foreach (LicensedEnvironment env in user.Sites)
                {
                    if (siteDomainName == env.DomainName)
                    {
                        valid = true;
                        break;
                    }
                }
            }
            if (valid)
            {
                //zorg dat omgevingen niet mee gaan richting bitplate, want dan krijg je ook de llicentie nog een keer mee
                user.Sites.Clear();
                return(user);
            }
            else
            {
                return(null);
            }
        }
Beispiel #2
0
        public MultiSiteUser GetUserData(BitplateUser user)
        {
            MultiSiteUser multiSiteUser = MultiSiteUser.LoadFromBitplateUser(user);

            //zorg dat omgevingen niet mee gaan richting bitplate, want dan krijg je ook de llicentie nog een keer mee
            multiSiteUser.Sites.Clear();
            return(multiSiteUser);
        }
        public static bool SendNewMultiSiteUserPassword(string email)
        {
            CheckLogin();
            bool          returnValue = false;
            MultiSiteUser user        = BaseObject.GetFirst <MultiSiteUser>("Email ='" + email + "'");

            if (user != null)
            {
                returnValue = user.SendNewPasswordEmail();
            }
            return(returnValue);
        }
Beispiel #4
0
        public void SetUserData(BitplateUser user, string domainName)
        {
            MultiSiteUser multiSiteUser = MultiSiteUser.LoadFromBitplateUser(user);

            if (multiSiteUser == null)
            {
                multiSiteUser = new MultiSiteUser();
            }
            multiSiteUser.FromBitplateUser(user);
            multiSiteUser.SetEnvironment(domainName);
            multiSiteUser.Save();
        }
Beispiel #5
0
        public string GenerateTempLoginKey(string url, BitplateUser user)
        {
            MultiSiteUser multiSiteUser = MultiSiteUser.LoadFromBitplateUser(user);

            if (multiSiteUser != null)
            {
                return(multiSiteUser.GenenateAndSaveTemporaryKey());
            }
            else
            {
                return("");
            }
        }
Beispiel #6
0
        public BaseCollection <LicensedEnvironment> GetSiteUrls(BitPlate.Domain.Autorisation.BitplateUser user)
        {
            MultiSiteUser multiSiteUser = MultiSiteUser.LoadFromBitplateUser(user);

            if (multiSiteUser != null)
            {
                return(multiSiteUser.Sites);
            }
            else
            {
                return(null);
            }
        }
Beispiel #7
0
        public MultiSiteUser CheckTempLoginKey(string key)
        {
            MultiSiteUser multiSiteUser = MultiSiteUser.LoadFromTempKey(key);

            if (multiSiteUser != null)
            {
                //zorg dat omgevingen niet mee gaan richting bitplate, want dan krijg je ook de llicentie nog een keer mee
                multiSiteUser.Sites.Clear();
                return(multiSiteUser);
            }
            else
            {
                return(null);
            }
        }
        public static MultiSiteUser GetMultiSiteUser(string id)
        {
            CheckLogin();
            MultiSiteUser user = null;

            if (id == null || id == "")
            {
                user = new MultiSiteUser();
            }
            else
            {
                user = BaseObject.GetById <MultiSiteUser>(new Guid(id));
            }

            return(user);
        }
Beispiel #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //als gebruiker met meerdere site heeft gewisseld naar een andere site dan krijgt die een tempkey mee vanuit de metaserver.
            //deze temp key checken in metaserver, bestaat die, dan autom. inloggen met deze gebruiker
            if (Request.QueryString["loginkey"] != null)
            {
                UserServiceReference.UserServiceClient client = BitMetaServerServicesHelper.GetUserServiceClient();
                MultiSiteUser tempUser = client.CheckTempLoginKey(Request.QueryString["loginkey"]);
                using (AuthService authService = new AuthService())
                {
                    authService.Login(tempUser.Email, null, tempUser.Theme, tempUser.Language, false, tempUser.Password);
                }
            }

            if (SessionObject.CurrentBitplateUser != null)
            {
                Session.Clear();
                Session.Abandon();
            }
            else
            {
                this.ShowLoginPage();
            }
        }
Beispiel #10
0
 public static void SaveMultiSiteUser(MultiSiteUser obj)
 {
     CheckLogin();
     obj.Save();
 }
Beispiel #11
0
        public bool Login(string email, string password, string theme, string language, bool saveData, string md5Hash)
        {
            BitplateUserGroup userGroupAdmins;
            BitplateUserGroup userGroupEveryOne;

            CreateSystemUserGroupsIfNotExists(out userGroupAdmins, out userGroupEveryOne);

            SessionObject.CurrentSiteUser = null;
            bool returnValue = false;
            Guid SiteId;

            Guid.TryParse(ConfigurationManager.AppSettings["SiteID"], out SiteId);
            if (md5Hash == null)
            {
                md5Hash = CalculateMD5Hash(password);
            }
            BitplateUser user = BaseObject.GetFirst <BitplateUser>("Email ='" + email + "' AND Password = '******' AND Active = 1");

            if (user != null)
            {
                returnValue = true;
                SessionObject.CurrentBitplateUser = user;
                user.Theme = "bitplate";

                if (saveData)
                {
                    saveUserDataCookie(email, md5Hash); //OPSLAAN GEBRUIKERSGEGEVENS WERKT NOG NIET GOED.
                }
                else
                {
                    RemoveUserDataCookie();
                }
                if (user.IsMultiSiteUser)
                {
                    //gegevens syncen
                    //haal data op van meta server
                    string domainName = getDomainName();
                    UserServiceReference.UserServiceClient client = BitMetaServerServicesHelper.GetUserServiceClient();
                    MultiSiteUser multiSiteUser = null;
                    if (client != null)
                    {
                        multiSiteUser = client.Login(domainName, email, md5Hash);
                    }
                    //opslaan
                    if (multiSiteUser != null)
                    {
                        BitplateUser localUser = multiSiteUser.ToBitPlateUser(user.Email);
                        if (localUser.ModifiedDate > user.ModifiedDate)
                        {
                            localUser.UserGroups  = user.UserGroups;
                            localUser.Permissions = user.Permissions;
                            localUser.Save();
                            user = localUser;
                        }

                        if (multiSiteUser.IsAdmin)
                        {
                            if (!user.IsUserMemberOf(userGroupAdmins.Name))
                            {
                                user.UserGroups.Add(userGroupAdmins);
                                user.Save();
                            }
                        }
                        else
                        {
                            if (user.IsUserMemberOf(userGroupAdmins.Name))
                            {
                                BitplateUserGroup userGroup = BaseObject.GetFirst <BitplateUserGroup>("FK_Site = '" + SessionObject.CurrentSite.ID + "' AND Type=9");
                                user.UserGroups.Remove(userGroupAdmins);
                                user.Save();
                            }
                        }
                        //Gebruiker toevoegen aan systeem usergroup everyone.
                        if (!user.IsUserMemberOf(userGroupEveryOne.Name))
                        {
                            user.UserGroups.Add(userGroupEveryOne);
                            user.Save();
                        }
                        returnValue = true;
                        SessionObject.CurrentBitplateUser = user;
                    }
                    else if (multiSiteUser == null && client != null)
                    {
                        //Delete user als dit een multisiteuser is welke niet meer voorkomt in de licentie server.
                        user.Delete();
                        returnValue = false;
                    }
                    else
                    {
                        returnValue = true;
                        SessionObject.CurrentBitplateUser = user;
                    }
                }
            }
            else
            {
                //probeer in te loggen bij metaserver
                string domainName = getDomainName();
                UserServiceReference.UserServiceClient client = BitMetaServerServicesHelper.GetUserServiceClient();
                MultiSiteUser multiSiteUser = client.Login(domainName, email, md5Hash);

                if (multiSiteUser != null)
                {
                    //nieuwe user aanmaken en opslaan
                    BitplateUser localUser = multiSiteUser.ToBitPlateUser(email);
                    //usergroup toevoegen
                    if (multiSiteUser.IsAdmin)
                    {
                        localUser.UserGroups.Add(userGroupAdmins);
                    }
                    //Gebruiker toevoegen aan systeem usergroup everyone.
                    localUser.UserGroups.Add(userGroupEveryOne);
                    localUser.Save();
                    SessionObject.CurrentBitplateUser = localUser;

                    returnValue = true;
                }
            }

            return(returnValue);
        }