Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Option 1: Authentication System For security-minded professionals, it is important that only the appropriate people gain access to data in a computer system. This is

Option 1: Authentication System

For security-minded professionals, it is important that only the appropriate people gain access to data in a computer system. This is called authentication. Once users gain entry, it is also important that they only see data related to their role in a computer system. This is called authorization. For the zoo, you will develop an authentication system that manages both authentication and authorization. You have been given a credentials file that contains credential information for authorized users. You have also been given three files, one for each role: zookeeper, veterinarian, and admin. Each role file describes the data the particular role should be authorized to access. Create an authentication system that does all of the following:

You are

Asks the user for a username Asks the user for a password Converts the password using a message digest five (MD5) hash

o It is not required that you write the MD5 from scratch. Use the code located in this document and follow the comments in it to perform this operation.

Checks the credentials against the valid credentials provided in the credentialsfile

o Usethehashedpasswordsinthesecondcolumn;thethirdcolumncontainstheactualpasswordsfortestingandthefourthrowcontains the role of each user.

Limits failed attempts to three before notifying the user and exiting the program Gives authenticated users access to the correct role file after successfulauthentication

o The system information stored in the role file should be displayed. For example, if a zookeepers credentials is successfully authenticated, then the contents from the zookeeper file will be displayed. If an admins credentials is successfully authenticated, then the contents from the admin file will be displayed.

Allows a user to log out Stays on the credential screen until either a successful attempt has been made, three unsuccessful attempts have been made, or a user chooses to exit

allowed to add extra roles if you would like to see another type of user added to the system, but you may not remove any of the existing roles.

Specifically, the following critical elements must be addressed:

I.

Process Documentation: Create process documentation to accompany your program that addresses all of the followingelements:

Problem Statement/Scenario: Identify the program you plan to develop and analyze the scenario to determine necessary consideration for

building your program.

Overall Process: Provide a short narrative that shows your progression from problem statement to breakdown to implementation strategies. In other words, describe the process you took to work from problem statement (your starting point) to the final product. Your process description should align to your end resulting program and include sufficient detail to show the step-by-step progress from your problem statement analysis.

Pseudocode: Break down the problem statement into programming terms through creation of pseudocode. The pseudocode should demonstrate your breakdown of the program from the problem statement into programming terms. Explain whether the pseudocode differs from the submitted program and document any differences and the reason forchanges.

Methods and Classes: Your pseudocode reflects distinct methods and classes that will be called within the final program. If the pseudocode differs from the submitted program, document the differences and reason for changes.

Error Documentation: Accurately document major errors that you encountered while developing yourprogram.

Solution Documentation: Document how you solved the errors and what you learned from them.

Program: Your working program should include all of the specified requirements. The comments within your program will count toward the assessment of the documentation aspects of your submission.

A. Functionality

Input/Output: Your program reads input from the user and uses system output.

Control Structures: Your program utilizes appropriate control structures for program logic.

Libraries: Your program utilizes standard libraries to pull in predefined functionality.

Classes Breakdown: Your program is broken down into at least two appropriateclasses.

Methods: Your program utilizes all included methods correctly within the classes.

Error Free: Your program has been debugged to minimize errors in the final product. (Your program will be run to determine functionality.)

AI.

B. Best Practices: These best practices should be evident within your working program and process documentation.

Formatting Best Practices: Provide program code that is easy to read and follows formatting best practices as defined by the industry,

such as with indentation.

Documentation Best Practices: Include comments where needed within the program in appropriate detail for communicating purpose, function, and necessary information to other information technology (IT) professionals.

Coding Best Practices: Ensure your program supports clean code through descriptive variablenames.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Intelligent Databases Object Oriented Deductive Hypermedia Technologies

Authors: Kamran Parsaye, Mark Chignell, Setrag Khoshafian, Harry Wong

1st Edition

0471503452, 978-0471503453

More Books

Students also viewed these Databases questions