Пример #1
0
        bool VerifyCredentials(string email, string password)
        {
            MongoDBConnector dbConnector = new MongoDBConnector();
            var collection  = dbConnector.GetCollection <User> ("Users");
            var q           = Query.EQ("email", email);
            var queryResult = collection.FindOne(q);

            if (queryResult != null)
            {
                return(queryResult.password == password);
            }
            return(false);
        }
Пример #2
0
        ObjectId GetUserByEmail(string email)
        {
            MongoDBConnector dbConnector = new MongoDBConnector();
            var collection  = dbConnector.GetCollection <User> ("Users");
            var q           = Query.EQ("email", email);
            var queryResult = collection.FindOne(q);

            if (queryResult == null)
            {
                throw new Exception("User Not Found");
            }
            return(queryResult.Id);
        }
Пример #3
0
        ObjectId CreateAccount(string emailField, string passwordField, string selectedValue)
        {
            MongoDBConnector dbConnector = new MongoDBConnector();
            var collection = dbConnector.GetCollection <User> ("Users");
            var roles      = dbConnector.GetCollection <Role> ("Roles");
            var q          = Query.EQ("type", selectedValue);
            var user       = new User {
                email = emailField, password = passwordField, role = roles.FindOne(q).Id
            };

            collection.Insert(user);
            collection.Save(user);
            return(user.Id);
        }
Пример #4
0
 void Page_Load(Object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (Cache.Get("currentUser") != null)
         {
             LoginStatus.Text = "Cached User Exists";
             Response.Redirect(@"~/Profile.aspx");
         }
         else
         {
             if ((Request.Browser.Cookies))
             {
                 if (Request.Cookies.Get("com.xdegtyarev.kickstart.login.email") != null &&
                     Request.Cookies.Get("com.xdegtyarev.kickstart.login.password") != null)
                 {
                     if (VerifyCredentials(Request.Cookies.Get("com.xdegtyarev.kickstart.login.email").Value, Request.Cookies.Get("com.xdegtyarev.kickstart.login.password").Value))
                     {
                         LoginStatus.Text = "Login from Cookies";
                         Cache.Insert("currentUser", GetUserByEmail(Request.Cookies.Get("com.xdegtyarev.kickstart.login.email").Value));
                         //No need to save cookies can extend cookie expiration
                         Response.Redirect("/Profile.aspx");
                     }
                     else
                     {
                         //Empty Cookies
                     }
                 }
             }
         }
         MongoDBConnector connector = new MongoDBConnector();
         var roles = connector.GetCollection <Role> ("Roles");
         if (roles.Count() > 0)
         {
             List <String> l = new List <String> ();
             foreach (var o in roles.FindAll())
             {
                 l.Add(o.type);
             }
             AcountTypeDropdownList.DataSource = l;
             AcountTypeDropdownList.DataBind();
         }
         else
         {
             RegisterButton.Visible = false;
         }
     }
 }
Пример #5
0
 void Page_Load(Object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         MongoDBConnector connector = new MongoDBConnector();
         var collection             = connector.GetCollection <User> ("Users");
         var query  = Query.EQ("id", (ObjectId)Cache.Get("currentUser"));
         var result = collection.FindOne(query);
         if (result != null)
         {
             cachedUser = result;
             ContentPlaceHolder.Page.Title = cachedUser.email;
         }
         else
         {
             //Response.Redirect("/Default.aspx");
         }
     }
 }