Sesiones con las Sub-aplicaciones

Nota:

Esta solución se ha tomado de este post en la lista de distribución de Web.py.

Problema

En su comportamiento por defecto, la información de la sesión sólo se puede compartir desde dentro de la aplicación principal, incluso si usted ‘importa‘ la sesión desde otro módulo.
Usted necesita ser capaz de acceder a la información de la sesión de la ‘Sub-Aplicación‘ pero como? Sigue leyendo

Autenticación de Usuarios con la base de datos PostgreSQL

Problema

Usted quiere un sistema para autentificar a los usuarios, con una base de datos PostgreSQL.

Solucion

Un sistema de autenticación de usuario puede tener una gran cantidad de funciones. Para este ejemplo, sólo se va a gestionar el proceso de autenticación, a través de una base de datos PostgreSQL.

Lo Necesario

web.py para todas las funciones web y hashlib para almacenar las contraseñas de forma segura.

  1 # -*- coding: utf-8 -*-
  2 import web
  3 import hashlib
  4

1. La base de datos

En primer lugar, se necesita una tabla para los usuarios. Este esquema es muy simple, pero es suficiente para un montón de proyectos.

$ psql -d myweb
CREATE TABLE users (
  id serial NOT NULL,
  usuario varchar(80) NOT NULL UNIQUE,
  pass char(40) NOT NULL,
  email varchar(100) NOT NULL,
  privilege integer NOT NULL DEFAULT 0,
  CONSTRAINT utilisateur_pkey PRIMARY KEY (id)
);

Sigue leyendo

Autenticación de Usuario en Web.py con SQLite

En este pequeño How-to realizaremos un pequeño aplicativo que nos permita tener una idea clara de cómo funcionan las sesiones y lo importante que son para nuestros App’s.

Un sistema de autenticación de usuario se compone de unas pocas partes. Adición de usuarios, logueo de usuarios, cierre de la sesión y comprobar si los usuarios están conectados.

Creamos nuestra bases de datos en SQLite:

$ sqlite3 users.db

sqlite> .tables
users
sqlite> insert into users values ('jolth', '123456');
sqlite> select * from users;
jolth|123456
sqlite> 
sqlite> .quit

Sigue leyendo

Autenticación de Usuario

Problema

Usted quiere un sistema para autentificar a los usuarios.

Solución

Un sistema de autenticación de usuario se compone de unas pocas partes. Adición de usuarios, logeo de usuarios, cierre de la sesión y comprobar si los usuarios están conectados. También se requiere una base de datos. Para este ejemplo vamos a utilizar MD5 y SQLite.

import hashlib
import web    

def POST(self):
    i = web.input()

    authdb = sqlite3.connect('users.db')
    pwdhash = hashlib.md5(i.password).hexdigest()
    check = authdb.execute('select * from users where username=? and password=?', (i.username, pwdhash))
    if check: 
        session.loggedin = True
        session.username = i.username
        raise web.seeother('/results')   
    else: return render.base("Those login details don't work.")

Nota:

No utilice este código en el sitio real – esto es sólo para ilustración