OPTIONS of '<path>': 401 Authorization Required <url>

When upgrading to version 1.4.x, you suddenly can't access your repository anymore. Every try is rejected with the error message:
OPTIONS of 'path': 401 Authorization Required 'url'

The reason for this is the automatic authentication with SSPI which is activated in version 1.4.x. That means TortoiseSVN now tries to authenticate automatically with the credentials of the user logged on to the Windows domain controller.

If you have set up your server to authenticate with SSPI against a domain controller, and the domain controller does not have the user account GUEST enabled, you should be fine. But if the user account GUEST is active, then all authentication succeeds with that user - and you usually won't give the user GUEST access to your repository. That's why the authentication succeeds, but the authorization fails.

Another reason why it can fail is if you have set up different accounts for the repository access than you use for logging in to your workstations (although then I wonder why you are using SSPI authentication in the first place).

To solve this issue you have the following options:

  • disable the GUEST account on the domain controller
  • use the same accounts for your workstations and access to the repository
  • disable SSPI authentication for the repository
  • Check the case of the usernames. Changing the usernames in the access files to lowercase also might solve this problem

Comments

For me it helped to actually

For me it helped to actually use _uppercase_ with domain name, lowercase with user name. So domain\user did not work in access files, DOMAIN\user did.


SSPIUsernameCase

SSPI Auth passes for the username either

* What the user typed (for a basic auth)
* What the domain thinks the username is

Since Windows doesn't care what case things are for usernames, this causes a headache for the SVN admin as far as authz, log searching, etc is concerned because the case can vary.

I recommend setting

SSPIUsernameCase lower

In your Apache config, which forces usernames into lowercase and makes things much easier.