Если все, в чем Вы нуждаетесь, является управлением исходным кодом, TFS является излишеством. У одного из моих предыдущих работодателей были TFS, VSS и Подрывная деятельность на их предприятии. У нас не было Active Directory или Exchange Server 2003 на нашем предприятии, таким образом, мы закончили тем, что создали отдельных пользователей на сервере TFS, таким образом, разработчики могли использовать его. У нас были те же виды проблем со слиянием, которое Ben Schierman упомянул, наряду с другим ошибочным поведением, которое продвинуло нас к Подрывной деятельности.
, Является ли TFS правильным призывом к Вам, будет зависеть частично от Вашего бюджета, размера Вашей группы разработчиков, и количества времени и персонала, доступного для конфигурации/обслуживания Вашего решения. Если Вы хотите дополнительное отслеживание ошибки, объект работы и возможности статистики проекта, которые обеспечивает TFS, это может стоить Вашего, в то время как посмотреть на другие альтернативы. Продукты как JIRA (от Систем Atlassian) или Trac интегрируются хорошо с Подрывной деятельностью и обеспечивают вид контроля, проект или диспетчер программ могли бы по более низкой цене.
В идеальной среде, с Active Directory, Exchange Server 2003 или выше, и выделенный штат для репозитория, TFS, более вероятно, будет хорошим выбором.
Простой ответ на ваш вопрос - нет, вы не можете сделать это более надежным без внедрения пользовательской аутентификации.
Единственный способ, при котором Firefox и Chrome отобразят страницу, указанную в директиве ErrorDocument 401, это если вы нажмете кнопку отмены. Кроме того, с HTTP-кодом 401 не отправляется перенаправление; скорее, это содержимое документа, указанного в директиве ErrorDocument 401. Вы можете сделать перенаправление с помощью мета-тега HTML:
<Location "/protected">
AuthUserFile /path/to/users
AuthName "This is protected area"
AuthGroupFile /dev/null
AuthType Basic
Require valid-user
#ErrorDocument 401 /register.html
ErrorDocument 401 "<html><meta http-equiv=\"refresh\" content=\"0;url=/register.html\"></html>"
</Location>
Возможные решения вашей проблемы - создать собственный модуль базовой HTTP аутентификации или использовать такой язык, как php, который поддерживает хуки базовой HTTP аутентификации
Я подозреваю, что ваши пользователи firefox и safari не входят в домен перед именем пользователя, то есть MYDOMAIN \ USERNAME. В Firefox есть некоторые настройки, которые разрешают сквозную аутентификацию; Не знаю насчет сафари.