It is legal. Though definitely anti consumerist in nature.
People often confuse legal protections in regards to personal property.
For example, the state guarantees your right to free speech. This protects you from prosecution for exercising that right, even if what you have to say is abhorrent in nature.
But that does not mean you have a right to do so on privately owned property, online or in person. This is why when someone gets kicked out of a store for your speech, or defying policies it is not an infringement on your rights.
Consider this, would you be happy if you were legally unable to have someone removed from your home because they were swearing or being rude? You can trespass anyone for any reason because it is your property.
The same applies whenever you enter a store or are on someone else's (person or corporate) property.
Furthermore, some have retorted the argument that because it is a place of business, personal property protections do not apply. If you subscribe to that belief then great, next time you have a garage or lawn sale, I'll be pleased to enter your home and park myself in your living room to watch tv.