Sadly with the change it still is giving the same issue.
I can register successfully.
When I try to login, it tells me that it was an "invalid login".
Although it is nice having the password "crypted".  Woot!
Regards,
Jason Brower

On Tue, 2009-02-24 at 06:38 -0800, mdipierro wrote:
> I think you just need:
> 
> db.users.password.requires = [IS_NOT_EMPTY(), CRYPT()]
> 
> On Feb 24, 2:48 am, Jason Brower <[email protected]> wrote:
> > I have the system setup, thanks to the help of a polish friend, and it
> > seems to successfully register new users into the database.  The issue
> > lies in my login.  It seems that the data itself it saved, but I notice
> > that the password is set a string.  It is not hashed.
> > I think this is where the problem is, but I could be totally wrong.
> > So is there something I am doing wrong here?
> > I am running the latest trunk code.
> > The following is the db.py file.
> > -----
> > #!/usr/bin/python
> > # -*- coding: utf-8 -*-
> > import datetime
> > from gluon.tools import Mail, Auth, Recaptcha
> > from gluon.tools import Crud
> > # System Variables
> > now = datetime.date.today()
> > #Create the database connection
> > db = SQLDB('sqlite://interestID.db')
> > mail=Mail()
> > ## specify your SMTP server
> > mail.settings.server = 'smtp.gmail.com:25'
> > ## specify your email address
> > mail.settings.sender = '[email protected]'
> > ## optional: specify the username and password for SMTP
> > mail.settings.login = 'encomp...@------'
> > ## instantiate the Auth class (or your derived class)
> > crud = Crud(globals(),db)
> > ## optional: require email verification for registration
> > # auth.settings.mailer = mail
> > ## optional: if you require captcha verification for registration
> > # auth.settings.captcha =
> > Recaptcha(request,public_key='RECAPTCHA_PUBLIC_KEY',private_key='RECAPTCHA_PRIVATE_KEY')
> > # Create the user table
> > db.define_table('users',
> >                     SQLField('nickname', length=25),
> >                     SQLField('email', 'string'),
> >                     SQLField('first_name', 'string'),
> >                     SQLField('last_name', 'string'),
> >                     SQLField('password', 'password'),
> >                     SQLField('created', 'date', default=now),
> >                     SQLField('deleted', 'string'),
> >                     SQLField('verified', 'boolean', default= False),
> >                     SQLField('position', 'string'),
> >                     SQLField('profile_text', 'text'),
> >                     SQLField('profile_photo', 'upload', default=''),
> >                     SQLField('homepage', 'string'),
> >                     SQLField('event','string'),
> >                     SQLField('registration_key', length=128,
> > writable=False, readable=False),
> > )
> >
> > #Setup the users table
> > db.users.nickname.requires = [IS_NOT_IN_DB(db, 'users.nickname')]
> > db.users.email.requires = [IS_EMAIL(), IS_NOT_IN_DB(db, 'users.email')]
> > db.users.first_name.requires = IS_NOT_EMPTY()
> > db.users.last_name.requires = IS_NOT_EMPTY()
> > db.users.password.requires = IS_NOT_EMPTY()
> > db.users.position.requires = IS_NOT_EMPTY()
> > db.users.nickname.requires = IS_NOT_EMPTY()
> >
> > class MyAuth(Auth):
> >     def __init__(self, environment, T, db = None):
> >         "Initialise parent class & make any necessary modifications"
> >         Auth.__init__(self,environment,db)
> >         self.messages.logged_in = T("Logged in")
> >         self.messages.email_sent = T("Email sent")
> >         self.messages.email_verified = T("Email verified")
> >         self.messages.logged_out = T("Logged out")
> >         self.messages.registration_successful = T("Registration
> > successful")
> >         self.messages.invalid_email = T("Invalid email")
> >         self.messages.invalid_login = T("Invalid login")
> >         self.messages.verify_email_subject = T("Password verify")
> >         self.messages.username_sent = T("Your username was emailed to
> > you")
> >         self.messages.new_password_sent = T("A new password was emailed
> > to you")
> >         self.messages.invalid_email = T("Invalid email")
> >         self.messages.password_changed = T("Password changed")
> >         self.messages.retrieve_username=str(T("Your username is"))+":
> > %(username)s"
> >         self.messages.retrieve_username_subject="Username retrieve"
> >         self.messages.retrieve_password=str(T("Your password is"))+":
> > %(password)s"
> >         self.messages.retrieve_password_subject = T("Password retrieve")
> >         self.messages.profile_updated = T("Profile updated")
> >         #Use my own table instead of the default table.
> >         self.settings.table_user=db.users
> >
> > #Create groups for the authenticated users
> > #The current list is not real, but just some ideas to fill space.
> > #positions = {'Administrator' : 'Add and Remove users.  Creates
> > events.',
> > #             'Vistor'        : 'Can view information about events and
> > tags.',
> > #             'Speaker'       : 'Can create special tags and
> > schedules',
> > #             'Guest'         : 'Can view information about the
> > event.',
> > #             'Staff'         : 'Can edit the room and booth locations
> > and information',
> > #             'Booth'         : 'Can create a booth profile and add
> > prizes',
> > #             'Room'          : 'Can create a schedule for the room'}
> > #for role_id in positions.keys():
> > #    group_id = auth.add_group(role = role_id, description =
> > positions[role_id])
> >
> > auth = MyAuth(globals(), T, db)
> > ## ask it to create all necessary tables
> > auth.define_tables()
> >
> > db.define_table('tagCloud',
> >                     SQLField('creator','string'),
> >                     SQLField('name','string'),
> >                     SQLField('description','text'),
> >                     SQLField('created','date', default=now),
> >                     SQLField('logo_picture','upload', default=''))
> >
> > #Setup the tagCloud table
> > db.tagCloud.creator.requires = IS_IN_DB(db, 'users.id',
> > 'users.nickname')
> > db.tagCloud.name.requires = IS_NOT_EMPTY()
> > db.tagCloud.logo_picture.requires = IS_NOT_EMPTY()
> >
> > db.define_table('tag',
> >                     SQLField('tag_id',db.tagCloud),
> >                     SQLField('personalRating','integer'))
> >
> > db.tag.tag_id.requires = IS_IN_DB(db, 'tagCloud.id', 'tagCloud.name')
> >
> > db.define_table('emailMessages',
> >                     SQLField('from_nickname','string'),
> >                     SQLField('to_nickname','string'),
> >                     SQLField('recieved','date', default=now),
> >                     SQLField('subject','string'),
> >                     SQLField('email_text','text'),
> >                     SQLField('thread', 'integer'))
> >
> > #Setup the emailMessages table
> > db.emailMessages.subject.requires = [IS_NOT_EMPTY()]
> > db.emailMessages.from_nickname.requires =
> > IS_IN_DB(db,'users.id','users.nickname')
> > db.emailMessages.to_nickname.requires =
> > IS_IN_DB(db,'users.id','users.nickname')
> > db.emailMessages.recieved.requires = [IS_NOT_EMPTY()]
> > db.emailMessages.email_text.requires = [IS_NOT_EMPTY()]    
> >
> > #A building can have many rooms              
> > db.define_table('rooms',
> >                     SQLField('roomName','string'),
> >                     SQLField('capacity','integer'),
> >                     SQLField('description','text'),
> >                     SQLField('projector','boolean', default= False),
> >                     SQLField('whiteboard','boolean', default= False),
> >                     SQLField('amps','boolean', default= False),
> >                     SQLField('tables','boolean', default= False),
> >                     SQLField('chairs','boolean', default= False),
> >                     SQLField('wInternet','boolean', default= False),
> >                     SQLField('width','integer', default=0),
> >                     SQLField('length','integer', default=0),
> >                     SQLField('scale','string', default="meters"),
> >                     SQLField('building','string'))
> >
> > #Creating an event
> > db.define_table('events',
> >                     SQLField('eventName','string'),
> >                     SQLField('address','string'),
> >                     SQLField('phone','string'),
> >                     SQLField('email','string'),
> >                     SQLField('logo','string'),
> >                     SQLField('startDate', 'date'),
> >                     SQLField('endDate','date'))
> >
> > #An event can have many rooms
> > db.define_table('neededRooms',
> >                     SQLField('event','string'),
> >                     SQLField('room','string'))
> >
> > #A room can have many sessions
> > #But those times should not over lap
> > db.define_table('session',
> >                     SQLField('name','string'),
> >                     SQLField('date','string'),
> >                     SQLField('startTime','string'),
> >                     SQLField('endTime','string'),
> >                     SQLField('room','string'))
> >
> > #A speaker can give many sessions (talk,song,speech,
> > etc...)                  
> > db.define_table('speaker',
> >                     SQLField('name','string'),
> >                     SQLField('session','string'),
> >                     SQLField('subject','string'),
> >                     SQLField('description','text'),
> >                     SQLField('logo','upload'))
> >
> > #A user can attend many sessions
> > db.define_table('attendance',
> >                     SQLField('nickname','string'),
> >                     SQLField('session','string'))
> > ---
> > Hope you can help. :)
> > Regards,
> > Jason Brower
> > 


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to