protected void btnRegister_Click(object sender, EventArgs e)
        {
            string Username  = tbUsername.Text;
            string Password  = tbPassword.Text;
            string Password2 = tbPassword2.Text;

            if (Password != Password2)
            {
                throw new Exception("Passwords do not match");
            }

            ParakeetUser Usr = ParakeetDb.Select <ParakeetUser>(new DbFilter("Username", Username)).FirstOrDefault();

            if (Usr != null)
            {
                throw new Exception("Username has been reserved");
            }


            ParakeetUser NewUser = new ParakeetUser();

            NewUser.Username = Username;
            NewUser.Salt     = PasswordManager.GenerateSalt();
            NewUser.Hash     = PasswordManager.HashPassword(Password, NewUser.Salt);

            ParakeetDb.Insert(NewUser);
            SetUser(NewUser);
            Response.Redirect("~/Default.aspx");
        }
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            string Username   = tbUsername.Text;
            string Password   = tbPassword.Text;
            bool   RememberMe = cbRememberMe.Checked;

            ParakeetUser Usr = ParakeetDb.Select <ParakeetUser>(new DbFilter("Username", Username)).First();

            if (Usr == null)
            {
                ThrowInvalidUserOrPass();
            }

            if (!PasswordManager.IsValidPassword(Password, Usr.Salt, Usr.Hash))
            {
                ThrowInvalidUserOrPass();
            }

            SetUser(Usr);
            Response.Redirect("~/Default.aspx");
        }
Beispiel #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ParakeetUser User = null;

            if (!CheckLoggedIn(out User))
            {
                Response.Redirect("~/Login.aspx");
                return;
            }

            NameValueCollection QS = Request.QueryString;

            string[] Tags = (QS.Get("tags") ?? "").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

            if (Tags.Length == 0)
            {
                Tags = null;
            }

            ContentItem[] Items = ParakeetDb.Select <ContentID>().Where(CID => CID.HasTags(Tags)).Select(CID => new ContentItem(CID)).ToArray();
            rptImages.DataSource = Items;
            rptImages.DataBind();
        }
Beispiel #4
0
 protected void Page_Load(object sender, EventArgs e)
 {
     ParakeetUser Admin = ParakeetDb.Select <ParakeetUser>(new DbFilter("Username", "admin")).First();
 }