Assignment 6
Authentication and Authorization
Due Friday June 1 by 11:30 PM

Overview

For this project, you'll extend your previous work on a web application to incorporate user login and restrict access to your application using policies appropriate for your application.

Requirements

  1. User model with encrypted password
  2. Login and logout capability
  3. Restricted access depending on login status (policies may vary)
  4. Login status appears on all pages

Optional functions

Depending on your application, you may want to add forms for adding new users, which could be started by creating scaffolded controller and views for the User model. Also, consider adding a form that allows users to change their password.

You may also decide to add a user_id to your other models to track which user submitted specific items.

Summary Document

Prepare a one-page document that summarizes your application and the work you did to create it. The document should show evidence of your understanding of the application components by explaining how you developed them. Also provide instructions for accessing your web application, including main URLs and user logins.

Here's a suggested organization for your summary document:

  • A high-level description of your application and what it does. You might want to include a list of features or functions that your application supports.
  • How your application is organized. Here you may want to summarize your models, controllers and views.
  • Any details of how you developed the application, particularly non-trivial details. Naming actual commands and statements is discouraged---it's better to explain them than to quote them.
  • Special instructions for running the application.

Regardless of how you organize your summary document, it really helps to label the different sections with headers.

Submission

The summary document should use a common presentation format, ideally PDF. Using a Zip application, package both the summary document and your rails folder containing all of the code into one Zip file. Submit the zip file using the online submission site.

Grading

This project is worth 20 points and will be reviewed using the following criteria:

  • Clarity and understanding (6 points). The summary document should concisely and efficiently present the project accomplishments.
  • Accomplishment (7 points). The project accomplishments should surpass the project requirements.
  • Soundness (7 points). Implementation should be technically correct. Views should be easy to navigate. User operations should be easy to understand and perform. Pages should have consistent layout and be aesthetically appealing.