Adds on optional API key to repositories management controller and reposman.rb.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3201 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2009-12-20 09:44:28 +00:00
parent 4398386c48
commit cf9bb2699f
5 changed files with 51 additions and 13 deletions
+2 -2
View File
@@ -59,8 +59,8 @@ class SysController < ActionController::Base
def check_enabled
User.current = nil
unless Setting.sys_api_enabled?
render :nothing => 'Access denied. Repository management WS is disabled.', :status => 403
unless Setting.sys_api_enabled? && params[:key].to_s == Setting.sys_api_key
render :text => 'Access denied. Repository management WS is disabled or key is invalid.', :status => 403
return false
end
end
+9 -1
View File
@@ -3,7 +3,15 @@
<div class="box tabular settings">
<p><%= setting_check_box :autofetch_changesets %></p>
<p><%= setting_check_box :sys_api_enabled %></p>
<p><%= setting_check_box :sys_api_enabled,
:onclick => "if (this.checked) { Form.Element.enable('settings_sys_api_key'); } else { Form.Element.disable('settings_sys_api_key'); }" %></p>
<p><%= setting_text_field :sys_api_key, :size => 30,
:id => 'settings_sys_api_key',
:disabled => !Setting.sys_api_enabled?,
:label => :setting_mail_handler_api_key %>
<%= link_to_function l(:label_generate_key), "if ($('settings_sys_api_key').disabled == false) { $('settings_sys_api_key').value = randomKey(20) }" %>
</p>
<p><%= setting_multiselect(:enabled_scm, REDMINE_SUPPORTED_SCM) %></p>