Создание 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.
Все, что вы делаете, - это усложняет студентам выполнение их работы.