salted_login_generator 1.0.7 → 1.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/templates/README +55 -10
- data/templates/controller.rb +3 -3
- data/templates/user_model.erbsql +2 -2
- metadata +2 -2
data/templates/README
CHANGED
@@ -8,7 +8,8 @@ this:
|
|
8
8
|
|
9
9
|
class ApplicationController < ActionController::Base
|
10
10
|
include <%= class_name %>System
|
11
|
-
helper
|
11
|
+
helper :<%= singular_name %>
|
12
|
+
model :<%= singular_name %>
|
12
13
|
before_filter :login_required
|
13
14
|
|
14
15
|
After you have done the modifications the the ApplicationController and its
|
@@ -23,7 +24,27 @@ file:
|
|
23
24
|
require 'environments/<%= singular_name %>_environment'
|
24
25
|
|
25
26
|
Under the 'enviroments' subdirectory, you'll find <%= singular_name %>_environment.rb.
|
26
|
-
Edit this file as necessary
|
27
|
+
Edit this file as necessary.
|
28
|
+
|
29
|
+
Also, you must properly configure ActionMailer for your mail settings. For
|
30
|
+
example, I have the following in config/environments/development.rb (for a
|
31
|
+
.Mac account, and without my username and password, obviously):
|
32
|
+
|
33
|
+
ActionMailer::Base.server_settings = {
|
34
|
+
:address => "smtp.mac.com",
|
35
|
+
:port => 25,
|
36
|
+
:domain => "smtp.mac.com",
|
37
|
+
:user_name => "<your user name here>",
|
38
|
+
:password => "<your password here>",
|
39
|
+
:authentication => :login
|
40
|
+
}
|
41
|
+
|
42
|
+
You'll need to configure it properly so that email can be sent. One of the
|
43
|
+
easiest ways to test your configuration is to temporarily reraise exceptions
|
44
|
+
from the signup method (so that you get the actual mailer exception string).
|
45
|
+
In the rescue statement, put a single "raise" statement in. Once you've
|
46
|
+
debugged any setting problems, remove that statement to get the proper flash
|
47
|
+
error handling back.
|
27
48
|
|
28
49
|
== Requirements
|
29
50
|
|
@@ -35,8 +56,8 @@ You need a database table corresponding to the <%= class_name %> model.
|
|
35
56
|
login VARCHAR(80) NOT NULL,
|
36
57
|
password VARCHAR(40) NOT NULL,
|
37
58
|
email VARCHAR(60) NOT NULL,
|
38
|
-
firstname VARCHAR(40)
|
39
|
-
lastname VARCHAR(40)
|
59
|
+
firstname VARCHAR(40),
|
60
|
+
lastname VARCHAR(40),
|
40
61
|
salt CHAR(40) NOT NULL,
|
41
62
|
verified INT default 0,
|
42
63
|
role VARCHAR(40) default NULL,
|
@@ -50,8 +71,8 @@ You need a database table corresponding to the <%= class_name %> model.
|
|
50
71
|
login VARCHAR(80) NOT NULL,
|
51
72
|
password VARCHAR(40) NOT NULL,
|
52
73
|
email VARCHAR(60) NOT NULL,
|
53
|
-
firstname VARCHAR(40)
|
54
|
-
lastname VARCHAR(40)
|
74
|
+
firstname VARCHAR(40),
|
75
|
+
lastname VARCHAR(40),
|
55
76
|
salt CHAR(40) NOT NULL,
|
56
77
|
verified INT default 0,
|
57
78
|
role VARCHAR(40) default NULL,
|
@@ -65,8 +86,8 @@ You need a database table corresponding to the <%= class_name %> model.
|
|
65
86
|
login VARCHAR(80) NOT NULL,
|
66
87
|
password VARCHAR(40) NOT NULL,
|
67
88
|
email VARCHAR(60) NOT NULL,
|
68
|
-
firstname VARCHAR(40)
|
69
|
-
lastname VARCHAR(40)
|
89
|
+
firstname VARCHAR(40),
|
90
|
+
lastname VARCHAR(40),
|
70
91
|
salt CHAR(40) NOT NULL,
|
71
92
|
verified INT default 0,
|
72
93
|
role VARCHAR(40) default NULL,
|
@@ -75,7 +96,14 @@ You need a database table corresponding to the <%= class_name %> model.
|
|
75
96
|
);
|
76
97
|
|
77
98
|
Of course your <%= singular_name %> model can have any amount of extra fields.
|
78
|
-
This is just a starting point
|
99
|
+
This is just a starting point.
|
100
|
+
|
101
|
+
Supplied with the generator is a .erbsql schema file. If you download the
|
102
|
+
db_structure gem, you can run script/create_db to automatically create all of
|
103
|
+
your databases and tables based on this file. ** BEWARE ** This script
|
104
|
+
drops and recreates all tables in test, production and development databases.
|
105
|
+
The supplied file has been tested with MySQL, though others have reported
|
106
|
+
success with SQLite and PostgreSQL.
|
79
107
|
|
80
108
|
== How to use it
|
81
109
|
|
@@ -127,11 +155,28 @@ How do I...
|
|
127
155
|
send the user to the login form.
|
128
156
|
After he logs in he will be send back to /articles/show/1
|
129
157
|
|
130
|
-
|
131
158
|
You can find more help at http://wiki.rubyonrails.com/rails/show/SaltedLoginGenerator
|
132
159
|
|
160
|
+
== Troubleshooting
|
161
|
+
|
162
|
+
One of the more common problems people have seen is that after verifying an
|
163
|
+
account by following the emailed URL, they are unable to login via the
|
164
|
+
normal login method since the verified field is not properly set in the
|
165
|
+
<%= singular_name %> model's row in the DB.
|
166
|
+
|
167
|
+
The most common cause of this problem is that the DB and session get out of
|
168
|
+
sync. In particular, it always happens for me after recreating the DB if I
|
169
|
+
have run the server previously. To fix the problem, remove the /tmp/ruby*
|
170
|
+
session files (from whereever they are for your installation) while the server
|
171
|
+
is stopped, and then restart. This usually is the cause of the problem.
|
172
|
+
|
173
|
+
A forthcoming release will probably fix this via a well placed reset_session
|
174
|
+
call (or requirement to add it after running the generator) so that it is done
|
175
|
+
automatically on startup.
|
176
|
+
|
133
177
|
== Changelog
|
134
178
|
|
179
|
+
1.0.8 Generator/schema fixes and some README fixes/improvements
|
135
180
|
1.0.7 Fixed bad bug with missing attr_accessor :new_password in user class
|
136
181
|
1.0.6 Proper delete support and bug fixes
|
137
182
|
1.0.5 Lots of fixes and changes (see rubyforge.org/salted-login)
|
data/templates/controller.rb
CHANGED
@@ -67,7 +67,7 @@ class <%= class_name %>Controller < ApplicationController
|
|
67
67
|
case @request.method
|
68
68
|
# Render on :get
|
69
69
|
when :get
|
70
|
-
|
70
|
+
@<%= singular_name %> = <%= class_name %>.new
|
71
71
|
render
|
72
72
|
end
|
73
73
|
|
@@ -151,8 +151,8 @@ class <%= class_name %>Controller < ApplicationController
|
|
151
151
|
end
|
152
152
|
|
153
153
|
protected
|
154
|
-
|
155
|
-
def destroy(
|
154
|
+
|
155
|
+
def destroy(<%= singular_name %>)
|
156
156
|
<%= class_name %>Notify.deliver_delete(<%= singular_name %>)
|
157
157
|
flash['notice'] = l(:<%= singular_name %>_delete_finished, "#{<%= singular_name %>['login']}")
|
158
158
|
<%= singular_name %>.destroy()
|
data/templates/user_model.erbsql
CHANGED
@@ -3,8 +3,8 @@ CREATE TABLE users (
|
|
3
3
|
login VARCHAR(80) NOT NULL,
|
4
4
|
salted_password VARCHAR(40) NOT NULL,
|
5
5
|
email VARCHAR(60) NOT NULL,
|
6
|
-
firstname VARCHAR(40)
|
7
|
-
lastname VARCHAR(40)
|
6
|
+
firstname VARCHAR(40) default NULL,
|
7
|
+
lastname VARCHAR(40) default NULL,
|
8
8
|
salt CHAR(40) NOT NULL,
|
9
9
|
verified INT default 0,
|
10
10
|
role VARCHAR(40) default NULL,
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.8
|
|
3
3
|
specification_version: 1
|
4
4
|
name: salted_login_generator
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 1.0.
|
7
|
-
date: 2005-05-
|
6
|
+
version: 1.0.8
|
7
|
+
date: 2005-05-11
|
8
8
|
summary: "[Rails] Login generator with salted passwords."
|
9
9
|
require_paths:
|
10
10
|
- "."
|