Why wouldn't Apache's mod_auth work?
Why don't you use mod_proxy ot redirect cruisecontrol's web interface through apache? then use apache auth. At phpexperts.pro, i have cruisecontrol listening on localhost:8080 and then i use mod_proxy like:
<VirtualHost *:80>
ServerName phpexperts.pro
<Location "/cruisecontrol/">
# Controls who can get stuff from this server.
Satisfy any
Order allow,deny
Allow from 127.0.0.1
AuthType Basic
AuthName "private"
AuthUserFile /var/www/phpexperts.pro/.htpasswd
AuthGroupFile /dev/null
Require valid-user
# Pass in CruiseControl's web interface.
ProxyPass http://localhost:8080/
ProxyPassReverse http://localhost:8080/
</Location>
</VirtualHost>