On the Implementation of Constraints through Projection Operators
  Quantum constraints of the type Q \psi = 0 can be straightforwardly implemented in cases where Q is a self-adjoint operator for which zero is an eigenvalue. In that case, the physical Hilbert space is obtained by projecting onto the kernel of Q, i.e. H_phys = ker(Q) = ker(Q*). It is, however, nontrivial to identify and project onto H_phys when zero is not in the point spectrum but instead is in the continuous spectrum of Q, because in this case the kernel of Q is empty.   Here, we observe that the topology of the underlying Hilbert space can be harmlessly modified in the direction perpendicular to the constraint surface in such a way that Q becomes non-self-adjoint. This procedure then allows us to conveniently obtain H_phys as the proper Hilbert subspace H_phys = ker(Q*), on which one can project as usual. In the simplest case, the necessary change of topology amounts to passing from an L^2 Hilbert space to a Sobolev space. 
A. Kempf, J. R. Klauder