<p>We are investigating using CruiseControl.NET as both a Continues Integration build provider, as well as automating the first part of our deployment process.</p>

<p>Has anyone modified CruiseControl.NET's dashboard to add custom login and user roles (IE, Separate out access to forcing a build to only certain individuals on a per project basis?</p>

<p>The dashboard is a .NET App, but I believe it uses the nVelocity view engine instead of web forms, which I don't have experience with.</p>

<p>Can you mix nVelocity and Webforms,or do I need to spend a day learning something new =)</p>

Why do you need to? Do you really need to limit users in the way with an integration server. I think that's why CC.Net doesn't have that sort of support built in.
You can always see who forced a build, and control it that way.
I find that continuous integration works best with regular builds and regular unit test runs (our rather large C# app + test run takes 25 mins and checks hourly), so for me forcing a build is rarely an issue.
If you want some users to have some kind of report-only access you could limit them so that they can't access the CC.Net web application at all.
All the results (MSBuild, NCover, NUnit, FxCop, etc) are in XML, so you can build relativity simple report pages out of XSLT.