biocore / my-microbes

A set of tools for delivering personal microbiome results to individuals participating in microbiome sequencing studies.
7 stars 5 forks source link

Added support for password-protecting personalized results. #112

Closed jairideout closed 11 years ago

jairideout commented 11 years ago

Added framework for allowing basic HTTP/Apache authentication.

Fixes #111.

jairideout commented 11 years ago

Had to run to catch the bus, so didn't get to add much of a description for what I did.

The new script randomly generates passwords (alphanumeric, including upper and lowercase) between 8 and 12 characters long. It outputs a new file mapping personal IDs to passwords.

The script also creates a single .htpasswd file that maps username (i.e. personal ID) to encrypted password. We'll drop this in a safe folder on the web server.

An .htaccess is created for each personal ID and is put into the directory structure that is created by personal_results.py. For example, for personal ID NAU123, an .htaccess file would be created under results/NAU123/, if results/ was the output directory created by personal_results.py. An .htaccess file protects the directory it is placed in (as well as all subdirectories), and they are set up so that only the participant will be able to view his/her results.

notify_participants.py was modified to handle passwords.