Ejemplo n.º 1
0
        private Majorsilence.Vpn.Poco.Users RetrieveUser(string username, string code)
        {
            Majorsilence.Vpn.Poco.Users user = new Majorsilence.Vpn.Poco.Users();
            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();
                IEnumerable <Majorsilence.Vpn.Poco.Users> x = null;
                if (!string.IsNullOrEmpty(username))
                {
                    x = db.Query <Majorsilence.Vpn.Poco.Users>("SELECT * FROM Users WHERE Email=@Email",
                                                               new { Email = username });
                }
                else if (!string.IsNullOrEmpty(code))
                {
                    x = db.Query <Majorsilence.Vpn.Poco.Users>("SELECT * FROM Users WHERE PasswordResetCode = @PasswordResetCode",
                                                               new { PasswordResetCode = code });
                }

                if (x.Count() == 0)
                {
                    throw new Exceptions.InvalidDataException("Invalid Reset Code or User");
                }
                else if (x.Count() > 1)
                {
                    throw new Exceptions.InvalidDataException("Server Error Duplicate Codes");
                }
                else if (x.Count() == 1)
                {
                    user = x.First();
                }
            }
            return(user);
        }
Ejemplo n.º 2
0
        public bool validateCode(string resetCode, string password)
        {
            Majorsilence.Vpn.Poco.Users user = RetrieveUser("", resetCode);
            if (user != null)
            {
                if (user.PasswordResetCode == resetCode)
                {
                    var pwd = new CreatePasswords(password, user.FirstName + user.LastName);
                    user.PasswordResetCode = "";
                    user.Password          = pwd.Password;
                    user.Salt = pwd.Salt;
                    using (var db = InitializeSettings.DbFactory)
                    {
                        db.Open();

                        using (var txn = db.BeginTransaction())
                        {
                            db.Update(user);

                            txn.Commit();
                        }
                    }

                    email.SendMail("Your Password was Reset", "Password Reset", user.Email, false);
                    return(true);
                }
            }

            return(true);
        }
Ejemplo n.º 3
0
        public UserInfo(int userid)
        {
            using (var cn = Majorsilence.Vpn.Logic.InitializeSettings.DbFactory)
            {
                cn.Open();

                details = cn.Get <Majorsilence.Vpn.Poco.Users>(userid);
            }
        }
Ejemplo n.º 4
0
        public CertsOpenVpnRevokeCommand(int userId, Ssh.ISsh sshClient)
        {
            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();
                this.userData = db.Get <Majorsilence.Vpn.Poco.Users>(userId);
            }

            this.sshClient = sshClient;
        }
Ejemplo n.º 5
0
        public Payment(int userId)
        {
            this.userId = userId;

            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();
                userInfo = db.Get <Majorsilence.Vpn.Poco.Users>(userId);
            }
        }
Ejemplo n.º 6
0
        protected PppBase(int userId, int vpnServerId, Ssh.ISsh sshNewServer, Ssh.ISsh sshRevokeServer)
        {
            using (var db = InitializeSettings.DbFactory)
            {
                this.userData = db.Get <Majorsilence.Vpn.Poco.Users>(userId);
                this.vpnData  = db.Get <Majorsilence.Vpn.Poco.VpnServers>(vpnServerId);
            }

            this.sshNewServer          = sshNewServer;
            this.sshRevokeServer       = sshRevokeServer;
            this.userRequestedPassword = GeneratePassword();
        }
        public CertsOpenVpnGenerateCommand(int userId, int vpnServerId, Ssh.ISsh sshClientNewServer,
                                           Ssh.ISsh sshClientRevokeServer, Ssh.ISftp sftpClient)
        {
            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();
                this.userData = db.Get <Majorsilence.Vpn.Poco.Users>(userId);
                this.vpnData  = db.Get <Majorsilence.Vpn.Poco.VpnServers>(vpnServerId);
            }

            this.sshClientNewServer    = sshClientNewServer;
            this.sshClientRevokeServer = sshClientRevokeServer;
            this.sftpClient            = sftpClient;
        }
Ejemplo n.º 8
0
        public bool sendPasswordLink(string username)
        {
            Majorsilence.Vpn.Poco.Users user = RetrieveUser(username, "");
            string ressetCode = generateCode.GeneratePasswordResetCode(username);

            user.PasswordResetCode = ressetCode;
            using (var db = InitializeSettings.DbFactory)
            {
                db.Open();
                using (var txn = db.BeginTransaction())
                {
                    db.Update(user);

                    txn.Commit();
                }
            }

            email.SendMail(string.Format("Your Email Reset Code is: <a href=\"https://majorsilencevpn.com/validatecode?resetcode={0}\">{1}</a>",
                                         System.Web.HttpUtility.UrlEncode(ressetCode), ressetCode),
                           "Password Reset", username, true, null, Majorsilence.Vpn.Logic.Email.EmailTemplates.Generic);
            return(true);
        }