You can generate md5 password files using apache's htpasswd utility (located in the bin directory).
Then, in your httpd.conf:
<Location /svn>
DAV svn
SVNParentPath "repo path"
AuthType Basic
AuthName "Repository"
AuthUserFile "password file path"
Require valid-user
SVNListParentPath on #if you want a repository listing for the whole svn directory
</Location>
This will require user authentication, and only username/password combinations located in the password file (from htpasswd) will be accepted for access.
In addition, you can also specify read-only access to everyone, but use the password file for commits, etc by the following (within the location tag):
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
If I'm understanding what you need, this should solve it for user-level access.
EDIT:
I forgot to mention, that if you do use a password file, make sure it is not accessible through the web (ie, no alias or directory are assigned in apache where it is stored).
Chris S
2009-06-02 15:14:20