Beispiel #1
0
/// Login method for the authentication struct that takes
// an HTTP request and returns an HTTP response.
// A session is created if successful.
func (a *Auth) Login(request http.ResponseWriter, response *http.Request) {
	fmt.Fprintf(request, "Welcome to the login page!")
	// decoder := json.NewDecoder(response.Body)
	// credentials := new(Credentials)
	// err := decoder.Decode(&credentials)
	// if err != nil {
	// 	panic(err)
	// }

	// db := utilities.GetDB(response)
	// user := new(models.User)
	// err = user.Authenticate(db, credentials.Email, credentials.Password)
	// if err == nil {
	// 	session := sessions.GetSession(response)
	// 	session.Set("user_id", user.ID.Hex())
	// 	session.Set("user_company", user.Company)
	// 	session.Set("user_email", user.Email)
	// 	request.WriteHeader(202)

	// } else {
	// 	request.WriteHeader(404)
	// }

	email := response.FormValue("email")
	password := response.FormValue("password")

	db := utilities.GetDB(response)
	user := new(models.User)
	err := user.Authenticate(db, email, password)
	if err == nil {
		//session := sessions.GetSession(request)
		// session.Set("user_id", user.ID.Hex())
		// session.Set("user_company", user.Company)
		// session.Set("user_email", user.Email)
		//response.WriteHeader(202)
		http.Redirect(request, response, "http://localhost:3000", 202)
		http.Redirect(request, response, "/", 202)
		fmt.Fprintf(request, "error is nil!")
		//http.Redirect(response, request, "/", 202)

	} else {
		//fmt.Fprintf(request, "There is Error!")
		//http.Redirect(request, response, "http://localhost:3000", 202)
		// http.Redirect(request, response, "http://localhost:3000/lastestState", 202)
		// request.WriteHeader(404)
	}
}
Beispiel #2
0
func loginHandler(response http.ResponseWriter, request *http.Request) {

	email := request.FormValue("email")
	password := request.FormValue("password")
	session := sessions.GetSession(request)

	db := utilities.GetDB(request)
	user := new(models.User)
	err := user.Authenticate(db, email, password)
	fmt.FPrintf("Calling login User session \n%s", spew.Sdump(user_id))
	if err == nil {
		session.Set("user_id", user.ID.Hex())
		session.Set("user_company", user.Company)
		session.Set("user_email", user.Email)
		http.Redirect(response, request, "/display", 302)
	} else {
		http.Redirect(response, request, "/", 302)

	}
}