Description:
[web] added single user mode git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@144 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r67:971140e73bc7 - - 3 files changed: 77 inserted, 63 deleted

@@ -0,0 +1,67
1 + # Be sure to restart your web server when you modify this file.
2 +
3 + # Uncomment below to force Rails into production mode when
4 + # you don't control web/app server and can't set it the proper way
5 + # ENV['RAILS_ENV'] ||= 'production'
6 +
7 + # Specifies gem version of Rails to use when vendor/rails is not present
8 + RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
9 +
10 + # Bootstrap the Rails environment, frameworks, and default configuration
11 + require File.join(File.dirname(__FILE__), 'boot')
12 +
13 + Rails::Initializer.run do |config|
14 + # Settings in config/environments/* take precedence over those specified here
15 +
16 + # Skip frameworks you're not going to use (only works if using vendor/rails)
17 + # config.frameworks -= [ :action_web_service, :action_mailer ]
18 +
19 + # Only load the plugins named here, by default all plugins in vendor/plugins are loaded
20 + # config.plugins = %W( exception_notification ssl_requirement )
21 +
22 + # Add additional load paths for your own custom dirs
23 + # config.load_paths += %W( #{RAILS_ROOT}/extras )
24 +
25 + # Force all environments to use the same logger level
26 + # (by default production uses :info, the others :debug)
27 + # config.log_level = :debug
28 +
29 + # Use the database for sessions instead of the file system
30 + # (create the session table with 'rake db:sessions:create')
31 + config.action_controller.session_store = :active_record_store
32 +
33 + # Use SQL instead of Active Record's schema dumper when creating the test database.
34 + # This is necessary if your schema can't be completely dumped by the schema dumper,
35 + # like if you have constraints or database-specific column types
36 + # config.active_record.schema_format = :sql
37 +
38 + # Activate observers that should always be running
39 + # config.active_record.observers = :cacher, :garbage_collector
40 +
41 + # Make Active Record use UTC-base instead of local time
42 + config.active_record.default_timezone = :utc
43 +
44 + # See Rails::Configuration for more options
45 + end
46 +
47 + # Add new inflection rules using the following format
48 + # (all these examples are active by default):
49 + # Inflector.inflections do |inflect|
50 + # inflect.plural /^(ox)$/i, '\1en'
51 + # inflect.singular /^(ox)en/i, '\1'
52 + # inflect.irregular 'person', 'people'
53 + # inflect.uncountable %w( fish sheep )
54 + # end
55 +
56 + # Add new mime types for use in respond_to blocks:
57 + # Mime::Type.register "text/richtext", :rtf
58 + # Mime::Type.register "application/x-mobile", :mobile
59 +
60 + # Include your application configuration below
61 +
62 + # These are where inputs and outputs of test requests are stored
63 + TEST_REQUEST_INPUT_FILE_DIR = RAILS_ROOT + '/data/test_request/input'
64 + TEST_REQUEST_OUTPUT_FILE_DIR = RAILS_ROOT + '/data/test_request/output'
65 +
66 + # Uncomment this for single user mode (only root is allowed to log in)
67 + # SINGLE_USER_MODE = true
@@ -8,12 +8,22
8 8 protected
9 9 def authenticate
10 10 unless session[:user_id]
11 11 redirect_to :controller => 'main', :action => 'login'
12 12 return false
13 13 end
14 +
15 + user = User.find(session[:user_id])
16 + # check if run in single user mode
17 + if (defined?(SINGLE_USER_MODE) and
18 + (SINGLE_USER_MODE) and
19 + user.login != 'root')
20 + redirect_to :controller => 'main', :action => 'login'
21 + return false
22 + end
23 +
14 24 return true
15 25 end
16 26
17 27 def authorization
18 28 return false unless authenticate
19 29 user = User.find(session[:user_id])
deleted file
You need to be logged in to leave comments. Login now