What you are asking is not possible. It's not possible for these 2 lines to behave differently:
const Ref c(r); //This should be allowed.
Ref bar(r); //This should fail to compile somehow.
Both lines will execute through the same code path, they will both execute through the same copy constructor (yours or automatically generated). The only difference is the former will result in a const final variable.
The unfortunately reality is that even if you managed to prevent the above from compiling in your desired case, someone could simply do the following to circumvent your protection:
const Ref c(r);
Ref &bar = (Ref&)c;
If you're trying to prevent other people from doing nasty things to your class, you'll need to find an alternative to using a reference to a local variable. If you're just worried about yourself, then just don't do anything you shouldn't :)