The Right to Keep and Bear Arms is a natural right. The Second Ammendment to the Constitution states what the government can not do. The government can not INFRINGE on this Right.
Any law abiding citizen has the right to protect themselves with a firearm, in any public place. Any law that that prevents this is unconstitutional.