Assignment 3
Application with complex authorization
Due Friday May 24 before 11:30pm
Overview
For this project, you will create a more complex application that supports user authentication and authorization.
Major Requirements
You may continue with your previous application. For this assignment, you need to support the following functions:
- The application must have a user model that supports authentication. Following the scheme presented in class is highly recommended (other approaches may not be supported---proceed at your own risk).
- The application must have at least 3 models in addition to that used to represent users.
- Access to content should vary depending on login.
You are encouraged to set up the models so that each item in the models belongs to a user. That is, each model has a user_id attribute. However, you may decide the role of user ownership and to the extent that operations are restricted to items that do not belong to the current user.
Additional requirements
- Use appropriate authorization schemes
- Use appropriate validations.
- Provide needed links to successfully navigate through the system.
- Hide actions that are not available to unauthorized users.
- Add additional customizations that are appropriate for your application.
Report
Write a one-page professional-looking report that summarizes the accomplishments for your project. Provide needed instructions for successfully using the application including login credentials for test users.
Submission
The summary document should use a common presentation format, ideally PDF. Place your report into the application folder (you can call your application any appropriate name). Create a zip file from the folder and submit the zip file using the D2L online submission site.
Grading
This project is worth 30 points and will be reviewed using the following criteria:
- Clarity. The summary document should concisely and efficiently present the project accomplishments.
- Accomplishment. The project accomplishments should surpass the project requirements.
- Soundness. Explanations and implementation should be technically correct.