コード例 #1
0
ファイル: Register.ascx.cs プロジェクト: MikeKMiller/weavver
//-------------------------------------------------------------------------------------------
    protected void UserInfoNext_Click(object sender, EventArgs e)
    {
        Page.Validate("RegisterInfo");
        if (Page.IsValid)
        {
            string username = ((TextBox)GetControlFromWizard(UserInfoStep, "UserName")).Text;
            string password = ((TextBox)GetControlFromWizard(UserInfoStep, "Password")).Text;

            WeavverMembershipProvider provider = (WeavverMembershipProvider)System.Web.Security.Membership.Provider;
            System_Users item = provider.GetUser(username);
            if (item != null)
            {
                UsernameTaken();
            }
            else if (Request.QueryString["checkingout"] == "true")
            {
                Session["UserPassword"] = password;
                CaptchaStepNext_Click(null, e);
            }
            else
            {
                Session["UserPassword"] = password;
                Title.Text = "Our lord <a href='http://www.reddit.com/r/inglip' target='_blank'>Inglip</a> requires your verification:";
                Wizard1.ActiveStepIndex++;
            }
            ReloadCaptcha();
        }
    }
コード例 #2
0
ファイル: Register.ascx.cs プロジェクト: MikeKMiller/weavver
//-------------------------------------------------------------------------------------------
    protected void CaptchaStepNext_Click(object sender, EventArgs e)
    {
        if (Request["checkingout"] == "true" ||
            Request["recaptcha_response_field"] == ConfigurationManager.AppSettings["recaptcha_bypasskey"] ||
            Weavver.Vendors.Google.reCAPTCHA.Verify(ConfigurationManager.AppSettings["recaptcha_privatekey"],
                                                    Request.UserHostAddress,
                                                    Request["recaptcha_challenge_field"],
                                                    Request["recaptcha_response_field"]))
        {
            string emailaddress = ((TextBox)GetControlFromWizard(UserInfoStep, "EmailAddress")).Text;
            string username     = ((TextBox)GetControlFromWizard(UserInfoStep, "UserName")).Text;
            string password     = ((TextBox)GetControlFromWizard(UserInfoStep, "Password")).Text;
            string firstname    = ((TextBox)GetControlFromWizard(UserInfoStep, "FirstName")).Text;
            string lastname     = ((TextBox)GetControlFromWizard(UserInfoStep, "LastName")).Text;
            string orgname      = ((TextBox)GetControlFromWizard(UserInfoStep, "OrganizationName")).Text;
            string referredby   = (Session["ReferredBy"] == null) ? null : Session["referredby"].ToString();
            WeavverMembershipProvider provider = (WeavverMembershipProvider)System.Web.Security.Membership.Provider;
            MembershipCreateStatus    status   = MembershipCreateStatus.Success;
            MembershipUser            user     = provider.CreateUser(username, Session["UserPassword"].ToString(), emailaddress, "NONE", "", false, Guid.NewGuid(), Request.UserHostAddress, referredby, out status);
            if (status == MembershipCreateStatus.Success)
            {
                using (WeavverEntityContainer data = new WeavverEntityContainer())
                {
                    System_Users newUser = provider.GetUser(username);

                    Logistics_Organizations newOrg = new Logistics_Organizations();
                    newOrg.Id               = Guid.NewGuid();
                    newOrg.OrganizationId   = new Guid(ConfigurationManager.AppSettings["default_organizationid"]);
                    newOrg.OrganizationType = OrganizationTypes.Personal.ToString();
                    newOrg.Name             = (!String.IsNullOrEmpty(orgname)) ? orgname : firstname + " " + lastname;
                    newOrg.EIN              = "";
                    newOrg.Founded          = DateTime.UtcNow;
                    newOrg.Bio              = "My bio";
                    newOrg.CreatedAt        = DateTime.UtcNow;
                    newOrg.CreatedBy        = newUser.Id;
                    newOrg.UpdatedAt        = DateTime.UtcNow;
                    newOrg.UpdatedBy        = newUser.Id;
                    data.Logistics_Organizations.AddObject(newOrg);

                    data.System_Users.Attach(newUser);
                    newUser.OrganizationId = newOrg.Id;
                    newUser.FirstName      = firstname;
                    newUser.LastName       = lastname;

                    int changedRows = data.SaveChanges();
                    if (changedRows > 0)
                    {
                        // add this user as an administrator to their ORG
                        string oldAppName = Roles.ApplicationName;
                        Roles.ApplicationName = newOrg.Id.ToString();
                        Roles.CreateRole("Administrators");
                        Roles.AddUserToRole(newUser.Username, "Administrators");
                        Roles.ApplicationName = oldAppName;
                    }
                }
                //newOrg.Commit();

                MailMessage mNewUser = new MailMessage("*****@*****.**", System.Configuration.ConfigurationManager.AppSettings["admin_address"]);
                mNewUser.Subject = "New user";
                //mm.Body = CreateUserWizard1.Email;
                mNewUser.Body = "User: "******"\r\n"
                                + "Created At: " + DateTime.Now.ToString() + "\r\n"
                                + "By IP: " + Request.UserHostAddress + "\r\n"
                                + "Referred By: " + Session["ReferredBy"];

                SmtpClient client2 = new SmtpClient(System.Configuration.ConfigurationManager.AppSettings["smtp_server"]);
                client2.Send(mNewUser);

                FormsAuthentication.SetAuthCookie(username, true);
                if (Request.QueryString["checkingout"] == "true")
                {
                    Response.Redirect("~/workflows/sales_orderplace");
                }
                else
                {
                    provider.SendUserActivationInstructions(user.UserName, Request.Url.Scheme + "://" + Request.Url.Host);
                    Wizard1.ActiveStepIndex++;
                }
            }
            else
            {
                throw new Exception("We could not create your account. Please try again later.");
            }
        }
        else
        {
            ReloadCaptcha();
            ((Literal)GetControlFromWizard(CaptchaStep, "CaptchaError")).Text = "Please try again.";
        }
    }
コード例 #3
0
ファイル: ejabberdAuth.cs プロジェクト: MikeKMiller/weavver
        public void Check()
        {
            System.IO.Stream reader = Console.OpenStandardInput();
            MiscUtil.Conversion.BigEndianBitConverter bebc = new MiscUtil.Conversion.BigEndianBitConverter();
            EndianBinaryWriter writer = new MiscUtil.IO.EndianBinaryWriter(bebc, Console.OpenStandardOutput());

            byte[] input = new byte[2];

            // is there a better way to check for data on the stream?
            while (reader.Read(input, 0, 2) > -1)
            {
                ushort len           = bebc.ToUInt16(input, 0);
                byte[] incomingBytes = new byte[len];
                reader.Read(incomingBytes, 0, len);
                string incomingData = System.Text.Encoding.ASCII.GetString(incomingBytes);

                using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\\output.log", true))
                {
                    file.WriteLine(incomingData + "\r\n---------------------------------------\r\n");
                }

                string[] parse    = System.Text.RegularExpressions.Regex.Split(incomingData, ":");
                string   command  = parse[0];
                string   username = parse[1];
                string   domain   = parse[2];

                short aa = 2;
                writer.Write(aa);
                short bbtrue  = 1;
                short bbfalse = 0;
                switch (command)
                {
                case "auth":
                    if (domain == "web.chat")
                    {
                        writer.Write(bbtrue);
                    }
                    else
                    {
                        string password = parse[3];
                        WeavverMembershipProvider wup = new WeavverMembershipProvider();
                        if (wup.ValidateUser(username, password))
                        {
                            writer.Write(bbtrue);
                        }
                        else
                        {
                            writer.Write(bbfalse);
                        }
                    }
                    break;

                case "isuser":
                    writer.Write(bbtrue);
                    break;

                case "setpass":
                    writer.Write(bbfalse);
                    break;
                }
            }
            System.Threading.Thread.Sleep(100);
        }