Создание SVN на сервере Apache Windows с интегрированной аутентификацией бесплатно

Привет, я работаю в месте, где проводятся курсы по программированию, во многих курсах студенты должны выполнить проект, чтобы пройти курс, а иногда проекты даже выполняются в группах, так что вы можете понять необходимость контроля версий Мы используем SVN и запускаем его на сервере Apache в операционной системе Windows Server 2003.

чтобы учащиеся не могли копировать код друг друга, мы хотим сделать аутентификацию с интегрированными окнами сервера svn, то есть студент не будет запрашивать имя пользователя и пароль при попытке доступа к svn, но автоматически подключится к SVN с текущим именем пользователя и паролем.

Мы опасаемся, что студенты поделятся своими паролями друг с другом и легко получат друг от друга версию кода от svn.

Я попытался найти это в Интернете, я нашел версию Visual SVN-сервер, который поддерживает встроенную проверку подлинности Windows, но это поддерживает стоит денег,

Я пытался использовать модули аутентификации Windows для сервера apache (mod_auth_sspi), но это не помешало мне получить запрос на ввод имени пользователя и пароля.

Кто-нибудь удалось сделать его Windows Server интегрированный Windows? и как? Кто-нибудь знает о каких-либо других бесплатных системах контроля версий, которые могут быть интегрированы в Windows? или, может быть, есть какое-то представление о моей ситуации.

Благодарю.

3 ответа

Решение

Мне удалось добиться этого, сделав SSL-аутентификацию SVN и отключив атрибут svn "OfferBasic" внутри тега местоположения хранилища.

Я использую Collabnet Subversion Edge здесь, и он, кажется, делает LDAP. Я не охранник, я не знаю, соответствует ли это тому, что вам нужно.

Чтобы учащиеся не могли копировать код друг друга, мы хотим сделать аутентификацию с интегрированными окнами сервера SVN, что означает, что студент не будет запрашивать имя пользователя и пароль, когда он пытается получить доступ к SVN, но автоматически подключится к SVN с текущим именем пользователя и паролем.

Как эта схема помешает ученику А передать код ученику Б?

Студент A может просто загрузить код, сжать его и передать студенту B. Или студент A может использовать клиент типа svn-git, загрузить весь репозиторий и передать его студенту B. И, если студент А дал студенту Б пароль своей учетной записи Windows, что может помешать студенту Б войти в систему как студент А?

Еще во времена Windows NT вы могли использовать NTLM. NTLM предполагал, что, поскольку вы вошли на компьютер с Windows, который был сертифицирован как действительный компьютер в сети, вы уже прошли проверку подлинности и не нуждались в повторной проверке подлинности. Таким образом, нет необходимости запрашивать учетную запись и пароль.

Но NTLM требовал, чтобы сервер работал под управлением IIS, а клиент работал под управлением Windows NT и Internet Explorer 5. Я считаю, что все еще возможно использовать NTLM, но Microsoft больше не рекомендует его, потому что он был полон дыр в безопасности.

Даже если бы вы могли использовать NTLM, не существует сервера Subversion, который работает через IIS, и нет клиента Subversion, который позволяет оформлять покупки через IE.

Все, что вы делаете, - это усложняет студентам выполнение их работы.

Другие вопросы по тегам