I ran into this problem for the first time when I tried to configure a laptop running Windows XP to print to my Samsung ML-1710 printer connected to a Linux box on the network. I wanted to set this up without the added headache of using samba since I don't need any of samba's advanced functionality. I turned on error reporting and found that after I had added the networked printer in Windows XP the CUPS server was rejecting jobs based on my user name. This was the error message:
Denying user "sedowler" access to printer
Everything I found online said to edit printers.conf and explicitly add the denied user to the list with
AllowUser sedowler. I didn't like that solution. I tried adding
AllowUser All, but that didn't work. I commented out all of the lines that began with
AllowUser and restarted CUPS, and now it works as expected allow anyone to print no matter their user name.
I think there used to be a directive
AllowUser All, but maybe it's been removed, or is a bug. I didn't ever explicitly add any of the
AllowUser lines, I think the CUPS server automatically added users from Linux machines on the network when they tried to print, but for some reason didn't do that when printing from the Windows XP machine. That's the only explanation that I can come up with.
If you need more step by step instructions for configuring a Windows machine to print to a CUPS networked printer, try these instructions.