If the written company policy forbids any weapons, you're screwed. If it's just illegal weapons that are banned, like your supervisor said, you should be fine. The only real problem is, do the suits that will be discussing this no the difference between legal and illegal? They may change the policy to disallow any weapons, and if they do, you should stop carrying to keep your job.
Most states are "at-will" employment states, which means your boss can fire you at any time for any reason and there's nothing you can do about it. You should definitely check your state laws on this one. Unless you're fired because of discrimination or whistle-blowing or another federally protected status, there is nothing you can do if fired. Your boss could fire you because he doesn't like the color of your shirt or the football team you like. Most employers won't fire you for frivolous reasons, but they can.
I know this because this year I swore at an ex-boss that vindictively gave be the lowest assessment possible because I moved to a new job. I had a very stressfull job to begin with, and the cube-politics made it worse. For two years before I switched jobs, I was having stress related illnesses, such as stomach pain and headaches. So I switched to a job with a better department. I was suspended with pay and they made me see a therapist to prove I wasn't a threat to anyone. Then they were going to put an "on-notice" document in my personal file. I didn't like these options so I contacted a lawyer. I had no recourse if they fired me. But I had worked over 2000 hours of unpaid overtime over the past 2-3 years, so that was the only option I had if I wanted to sue.
The therapist they sent me to knew I wasn't a threat to anyone and sympathized with me. She sent my company a letter stating I wasn't a threat, but they were literally killing me with the stress. For 6 months, she kept me out of work by filling out short term disability forms while my lawyer was working on my overtime case. My company had to pay me for 6 months while I got to enjoy life. Then by the time my short term disability ran out, my lawyer had reached a settlement, where I was allowed to separate from the company and got paid 2 years salary and I'm allowed to draw unemployment for 6 months. And the day the company cut my check, my ex-manager resigned.
I'm still drawing those unemployment checks, the full amount for NY, they don't run out until mid-February. It will officially be a full year vacation on January 15th. I've had the time and the money to do things I've always wanted to do. Too bad I'll have to go back to work in a month.
But seriously, this weekend read up on your state employment laws. I was lucky that I had so much unpaid OT. If I hadn't, I would have had to go back to work while being "on-notice" and I would have been laid off in March with the guys they laid off then.