This problem occurred a while ago, and I hoped it would go away - but it occurred again today and is causing major loss of confidence in my system!!
The problem:
I have set up the login so that the UserID is the email address field in a database table.
I allocate a password initially, that users can then change if they wish.
This user changed their email address in the database - in the correct field etc. (I didn't know this, so didn't change it in the security)
Then, for some reason, the user logged on using their old email address and correct password. The database let them in (fair enough), but instead of filtering their grid views on their primary keyID - a widely used session variable for filtering data in my system - no filter operated. Thus the user could see all the data. General panic has ensued and I'm the chief target!
I understand why the user was able to log in, (because their email address was the same as that recorded in the security table), but how can I ensure that if/when this happens again that at least some form of filter is in place? Do I lock them out of changing their emails? Can I somehow connect the security UserID to the field in the database table rather than the security? Can I construct the system to lock poepl out if the email they have recorded in the database doesn't match the UserID in the security table?
I've got this far by using A5's fantastic wizards and Steve Working's great videos (no blame Steve if you read this), so while I'm OK at SQL, I'm not flash at xbasic
Any help would be very much appreciated.
Malcolm
The problem:
I have set up the login so that the UserID is the email address field in a database table.
I allocate a password initially, that users can then change if they wish.
This user changed their email address in the database - in the correct field etc. (I didn't know this, so didn't change it in the security)
Then, for some reason, the user logged on using their old email address and correct password. The database let them in (fair enough), but instead of filtering their grid views on their primary keyID - a widely used session variable for filtering data in my system - no filter operated. Thus the user could see all the data. General panic has ensued and I'm the chief target!
I understand why the user was able to log in, (because their email address was the same as that recorded in the security table), but how can I ensure that if/when this happens again that at least some form of filter is in place? Do I lock them out of changing their emails? Can I somehow connect the security UserID to the field in the database table rather than the security? Can I construct the system to lock poepl out if the email they have recorded in the database doesn't match the UserID in the security table?
I've got this far by using A5's fantastic wizards and Steve Working's great videos (no blame Steve if you read this), so while I'm OK at SQL, I'm not flash at xbasic
Any help would be very much appreciated.
Malcolm
Comment