123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <%
- # Copyright (C) 2011 - present Instructure, Inc.
- #
- # This file is part of Canvas.
- #
- # Canvas is free software: you can redistribute it and/or modify it under
- # the terms of the GNU Affero General Public License as published by the Free
- # Software Foundation, version 3 of the License.
- #
- # Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
- # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
- # A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
- # details.
- #
- # You should have received a copy of the GNU Affero General Public License along
- # with this program. If not, see <http://www.gnu.org/licenses/>.
- %>
- <%
- ldap_tests = []
- ldap_tests << OpenStruct.new(
- test_type: :connection,
- label: t(:test_ldap_connection_label, "Testing connection..."),
- help_header: t(:test_ldap_connection_help_header,
- "Canvas can't connect to your LDAP server"),
- help_body: t(:test_ldap_connection_help_body,
- "The connection either timed out or was refused. "\
- "Things to consider:"),
- help: [
- t(:test_ldap_connection_help_fixes_1,
- "Canvas is connecting to %{ips}",
- ips: presenter.ldap_ips),
- t(:test_ldap_connection_help_fixes_2, "This was only a connection test. "\
- "SSL certificates were not validated."),
- t(:test_ldap_connection_help_fixes_3, "Check your firewall settings. "\
- "Are all Canvas IP address allowed to"\
- " access your server?")
- ],
- url: account_test_ldap_connections_url(account)
- )
- ldap_tests << OpenStruct.new(
- test_type: :bind,
- label: t(:test_ldap_bind_label, "Testing LDAP bind..."),
- help_header: t(:test_ldap_bind_help_header,
- "Canvas can't bind (login) to your LDAP server"),
- help_body: t(:test_ldap_bind_help_body,
- "Your LDAP server rejected the bind attempt. Things to consider:"),
- help: [
- t(:test_ldap_bind_help_fixes_1,
- "Verify the provided filter string (i.e. '(sAMAccountName={{login}})')."),
- t(:test_ldap_bind_help_fixes_2,
- "Does the username require more scoping information? "\
- "(i.e. 'cn=Canvas,ou=people,dc=example,dc=com').")
- ],
- url: account_test_ldap_binds_url(account)
- )
- ldap_tests << OpenStruct.new(
- test_type: :search,
- label: t(:test_ldap_search_label, "Testing LDAP search..."),
- help_header: t(:test_ldap_search_help_header,
- "Canvas can't search your LDAP instance"),
- help_body: t(:test_ldap_search_help_body,
- "The search either failed or returned 0 results. "\
- "Things to consider:"),
- help: [
- t(:test_ldap_search_help_fixes_1,
- "Verify the provided filter string (i.e. '(sAMAccountName={{login}})')."),
- t(:test_ldap_search_help_fixes_2,
- "Verify the provided search base (i.e. 'ou=people,dc=example,dc=com')."),
- t(:test_ldap_search_help_fixes_3,
- "Verify that the user object in LDAP has search privileges for the"\
- " provided search base.")
- ],
- url: account_test_ldap_searches_url(account)
- )
- %>
- <div style="display: none;width:100%">
- <div id="test_ldap_dialog" style="padding-top:10px;">
- <h3>
- {{#t}}Testing Your LDAP Configuration{{/t}}
- </h3>
- <table style="margin-left:20px">
- <% ldap_tests.each do |test| %>
- <tr>
- <td><h4 style="width: 400px"><%= test.label %></h4></td>
- <td><div id="ldap_<%= test.test_type %>_result"></div></td>
- </tr>
- <tr>
- <td colspan="2">
- <div id="ldap_<%= test.test_type %>_help"
- style="padding-left:15px;display:none">
- <h4><%= test.help_header %></h4>
- <p>
- <%= test.help_body %>
- <ul>
- <% test.help.each do |help| %>
- <li><%= help %></li>
- <% end %>
- </ul>
- </p>
- </div>
- </td>
- </tr>
- <% end %>
- <tr>
- <td><h4>{{#t}}Test user login...{{/t}}</h4></td>
- <td><div id="ldap_login_result"></div></td>
- </tr>
- <tr>
- <td colspan="2">
- <div id="ldap_login_form"
- style="padding-left:15px;padding-bottom:10px;display:none;">
- <h4>
- <%= t(:test_ldap_login_form_header,
- "Supply a valid LDAP username/password to test login:") %>
- </h4>
- <form id="ldap_test_login_form" action="">
- <table>
- <tr>
- <td style="width:86px;">
- <%= blabel :ldap_test_login, :user, en: "Username" %>
- </td>
- <td>
- <%= text_field :ldap_test_login, :user, style: "width:170px" %>
- </td>
- </tr>
- <tr>
- <td>
- <%= blabel :ldap_test_login, :pass, en: "Password" %>
- </td>
- <td>
- <%= password_field :ldap_test_login, :pass, style: "width:170px" %>
- </td>
- <td style="padding-left:26px;">
- <input type="submit"
- value="{{#t}}Test Login{{/t}}"/>
- </td>
- </tr>
- </table>
- </form>
- </div>
- </td>
- </tr>
- <tr>
- <td colspan="2">
- <div id="ldap_login_help" style="padding-left:15px;display:none">
- <p id="ldap_login_help_error" style='color:red'>
- <%= t(:test_ldap_login_help_header,
- "The LDAP server denied your credentials") %>
- </p>
- </div>
- </td>
- </tr>
- </table>
- <button type="button" class="btn submit_button ldap_test_close" style="float:right">
- {{#t}}Close{{/t}}
- </button>
- </div>
- </div>
- <% js_env LDAP_TESTS: ldap_tests.map{|t|t.send(:table)},
- LOGIN_TEST_URL: account_test_ldap_logins_url(account) %>
- <% js_bundle :ldap_settings_test %>
|