- Instructor:
- Date:
- Cohort:
- Module:
- Observed by:
| require 'mail' | |
| mail = Mail.new do | |
| from '[email protected]' | |
| to '[email protected]' | |
| subject 'Hello!' | |
| body 'This is an email that was sent using Ruby.' | |
| end | |
| mail.delivery_method :sendmail |
Right now, your Job Tracker app is available to use by anyone. Wouldn't it be nice if we could make it so that only logged-in users could access the site?
Today, you'll attempt to implement authentication in your Job Tracker app. This challenge is not meant to give you step-by-step instructions for implementing authentication. Instead, you'll be prompted with places to start, things to cosider, and resources to reference, but you'll want to consider the implications of your choices along the way.
Before you start, read this article which talks about the difference between authentication and authorization. We'll focus most of this challenge on authentication, although you will see bits of authorization.
The purpose of the challenge is to figure out the moving pieces of authentication, not to TDD the authentication process. Therefore, don't worry about writing tests.
As you go through this challenge, push to try to get as many pieces figu
Use what you know about Ruby, Rails, MVC, sessions, etc. to create the following pieces of functionality:
-
A user who already exists in the database can log in using a username/password combination that they enter in a form. They should know that they are logged in because something like "Welcome, Rachel!" should appear at the top of every page they visit.
-
A user who already exists in the database and is already logged in should be able to log out. They should know that they are logged out because their welcome message will no longer appear at the top of every page they visit.
-
Users should have many jobs, and a job should belong to a user. Therefore, when a user visits any jobs listing, they should only see jobs associated with them. They should not be able to see, edit, or delete any jobs that are not associated with their account.
-
A user who does not exist in the database should be able to create an account through a form that gathers any necessary user information. Once they create an a
| https://web.archive.org/web/20150221125906/http://www.sewingandembroiderywarehouse.com/embtrb.htm | |
| https://www.facebook.com/uniladmag/videos/5192506594105691/ | |
| http://www.cakewrecks.com/home/2009/5/4/happy-falker-satherhood.html |
- Sign in to GitHub and go to https://github.com/new
- Type in the name of your project for repository name
- Select the checkmark for "Initialize this repository with a README"
- Click "Create Repository"
- Click the button "Create new file"
- In the box that says "Name your file..." enter
index.html - Paste your HTML into the large text box area
- Click "Commit new file"
- Click "Create new file" again
- In the box that says "Name your file..." enter
styles.css(or whatever you called your stylesheet file)
First, make sure you're at the home directory by typing cd.
Next, type nano .bash_profile. Copy and paste this into the window:
# get current branch in git repo
function parse_git_branch() {
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
if [ ! "${BRANCH}" == "" ]
then
Take a look at the Mod 0 Tech Setup instructions. Next, click the Raw button and compare the raw markdown to how the gist displays.
Look for the following elements, and under each bullet point, paste an example of the markdown that creates each.
- Headings of various sizes
- Links
- Bold text
- Auto-numbered lists