diff options
author | Eric Davis <edavis@littlestreamsoftware.com> | 2009-02-11 19:07:41 +0000 |
---|---|---|
committer | Eric Davis <edavis@littlestreamsoftware.com> | 2009-02-11 19:07:41 +0000 |
commit | 85ad791d815ce197b381b42fcd1503ecef0d34f5 (patch) | |
tree | 5ff9170e9c133e21bb0965fb674f743c69b1e0a1 | |
parent | 720f928cd2cafd0edb4357bce9d63e3b4dd10c3b (diff) | |
download | redmine-85ad791d815ce197b381b42fcd1503ecef0d34f5.tar.gz redmine-85ad791d815ce197b381b42fcd1503ecef0d34f5.zip |
Prevent registration via OpenID if self registration is off. #699
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2448 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/controllers/account_controller.rb | 3 | ||||
-rw-r--r-- | test/functional/account_controller_test.rb | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index 4bfe562c6..9f5200ee3 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -183,6 +183,9 @@ private if result.successful? user = User.find_or_initialize_by_identity_url(identity_url) if user.new_record? + # Self-registration off + redirect_to(home_url) && return unless Setting.self_registration? + # Create on the fly user.login = registration['nickname'] unless registration['nickname'].nil? user.mail = registration['email'] unless registration['email'].nil? diff --git a/test/functional/account_controller_test.rb b/test/functional/account_controller_test.rb index edca1d2f1..aec626a2f 100644 --- a/test/functional/account_controller_test.rb +++ b/test/functional/account_controller_test.rb @@ -86,7 +86,15 @@ class AccountControllerTest < Test::Unit::TestCase assert_equal 'Cool', user.firstname assert_equal 'User', user.lastname end - + + def test_login_with_openid_with_new_user_and_self_registration_off + Setting.self_registration = '0' + post :login, :openid_url => 'http://openid.example.com/good_user' + assert_redirected_to home_url + user = User.find_by_login('cool_user') + assert ! user + end + def test_login_with_openid_with_new_user_created_with_email_activation_should_have_a_token Setting.self_registration = '1' post :login, :openid_url => 'http://openid.example.com/good_user' |