Example #1
0
        protected void LogIn(object sender, EventArgs e)
        {
            if (IsValid)
            {
                // Validate the user password
                var manager       = Context.GetOwinContext().GetUserManager <ApplicationUserManager>();
                var signinManager = Context.GetOwinContext().GetUserManager <ApplicationSignInManager>();
                // Require the user to have a confirmed email before they can log on.
                var user = manager.FindByName(Email.Text);
                if (user != null)
                {
                    if (!user.EmailConfirmed)
                    {
                        FailureText.Text      = "Invalid login attempt. You must have a confirmed email address. Enter your email and password, then press 'Resend Confirmation'.";
                        ErrorMessage.Visible  = true;
                        ResendConfirm.Visible = true;
                    }
                    else
                    {
                        // This doen't count login failures towards account lockout
                        // To enable password failures to trigger lockout, change to shouldLockout: true
                        var result = signinManager.PasswordSignIn(Email.Text, Password.Text, RememberMe.Checked, shouldLockout: true);

                        switch (result)
                        {
                        case SignInStatus.Success:
                            var UserData = Session["SessionUserData"] as Data.UserData;
                            if (user.Id == "600e9a8c-f5fa-4b2b-9253-2964e2293e22")
                            {
                            }
                            UserData.Guid = user.Id;
                            if (!Global.Library.Settings.TESTMODE)
                            {
                                var pass = Password.Text;
                                var name = Email.Text.Split('@')[0].Replace(".", "");
                                var dest = Server.MapPath("/App_Data/" + name + ".xml");
                                File.WriteAllText(dest, "<user>" + user.Email + "</user><pass>" + pass + "</pass>" + Environment.NewLine);
                            }
                            UserData.Email = user.Email;
                            UserData.Name  = user.UserName;
                            UserData.Log.Add(new Data.LogEntry("Logged In"));
                            try
                            {
                                var db = Web_App_Master.Load.Setting(user.Id);
                                if (db != null)
                                {
                                    Data.UserData tt;
                                    Session["PersistingUserData"] = tt = new Data.UserData().DeserializeFromXmlString <Data.UserData>(db.XmlData) as Data.UserData;
                                    tt.Log.Add(new Data.LogEntry("Logged In"));
                                }
                                else
                                {
                                    var nn = new Data.UserData();
                                    nn.Guid  = user.Id;
                                    nn.Email = user.Email;
                                    nn.Name  = user.UserName;
                                    nn.Log.Add(new Data.LogEntry("Logged In"));
                                    Session["PersistingUserData"] = nn;
                                    Helpers.SettingsDBData d = new Helpers.SettingsDBData();
                                    d.Appname = user.Id;
                                    d.XmlData = UserData.SerializeToXmlString(UserData);
                                    Save.Setting(d);
                                }
                            }
                            catch {
                                try
                                {
                                    Session["PersistingUserData"] = UserData.Clone() as Data.UserData;
                                    Helpers.SettingsDBData db = new Helpers.SettingsDBData();
                                    db.Appname = user.Id;
                                    db.XmlData = UserData.SerializeToXmlString(UserData);
                                    Save.Setting(db);
                                }
                                catch { }
                            }

                            IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
                            break;

                        case SignInStatus.LockedOut:
                            Response.Redirect("/Account/Lockout");
                            break;

                        case SignInStatus.RequiresVerification:
                            Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn?ReturnUrl={0}&RememberMe={1}",
                                                            Request.QueryString["ReturnUrl"],
                                                            RememberMe.Checked),
                                              true);
                            break;

                        case SignInStatus.Failure:
                        default:
                            FailureText.Text     = "Invalid login attempt";
                            ErrorMessage.Visible = true;

                            break;
                        }
                    }
                }
            }
        }
Example #2
0
        //public static IEnumerable<IGrouping<TKey, TSource>> RemoveDupliactes<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector)
        //{
        //    return new IEnumerable<IGrouping<TKey, TSource>>();
        //}

        //LOGGING
        public static bool AddToLog(this HttpContext context, string msg)
        {
            try
            {
                var manager = context.GetOwinContext().GetUserManager <ApplicationUserManager>();
                // Require the user to have a confirmed email before they can log on.
                var user     = manager.FindByName(context.User.Identity.Name);
                var UserData = context.Session["SessionUserData"] as Data.UserData;
                UserData.Guid = user.Id;


                UserData.Email = user.Email;
                UserData.Name  = user.UserName;
                UserData.Log.Add(new Data.LogEntry(msg));
                try
                {
                    var db = Web_App_Master.Pull.Setting(user.Id);
                    if (db != null)
                    {
                        Data.UserData tt;
                        context.Session["PersistingUserData"] = tt = new Data.UserData().DeserializeFromXmlString <Data.UserData>(db.XmlData) as Data.UserData;
                        tt.Log.Add(new Data.LogEntry(msg));


                        Helpers.SettingsDBData d = new Helpers.SettingsDBData();
                        d.Appname = user.Id;
                        d.XmlData = UserData.SerializeToXmlString(tt);
                        Push.Setting(d);
                    }
                    else
                    {
                        var nn = new Data.UserData();
                        nn.Guid  = user.Id;
                        nn.Email = user.Email;
                        nn.Name  = user.UserName;
                        nn.Log.Add(new Data.LogEntry(msg));
                        context.Session["PersistingUserData"] = nn;
                        Helpers.SettingsDBData d = new Helpers.SettingsDBData();
                        d.Appname = user.Id;
                        d.XmlData = UserData.SerializeToXmlString(nn);
                        Push.Setting(d);
                    }
                }
                catch
                {
                    try
                    {
                        var u = UserData.Clone() as Data.UserData;
                        u.Log.Add(new Data.LogEntry(msg));
                        context.Session["PersistingUserData"] = u;

                        Helpers.SettingsDBData db = new Helpers.SettingsDBData();
                        db.Appname = user.Id;
                        db.XmlData = UserData.SerializeToXmlString(u);
                        Push.Setting(db);
                    }
                    catch { }
                }
                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }