I would suggest a couple of things.
1) target train the dog. Use a rug or a mat, put the dog on it, and insist she stay there for 30 minutes. There are some exceptions to the usual rule in training this exercise. You are allowed to say "Get on your bed" or "target" each time you put her back. No other corrections are allowed. If she starts to get up, no verbal help. Just put her back. In other words, don't fall into the AH AH trap, helping her verbally each time she is about to make a mistake. If you do, she won't learn anything. If you do this each evening, and you are consistent, she should be staying the full time with few reminders by the end of a week.
Once she is doing this, you need to set her up, using one of your friends as a helper. Put a tab on the dog's collar so you can get a hold of her if necessary. when the helper knocks or rings the bell, put the dog on the target, and go answer the door. At first the visitor should be very calm and quiet and make no eye contact with the dog. If she moves from her target, put her back just as you did ni the beginning. The helper should stay for just a few minutes, and then leave.
Gradually work up to longer and more cheerful visits by your helper. Helper can arrive carrying packages, etc. Helper can arrive and treat the dog if dog stays on the mat.
As far as allowing your dog to make the decisions about who may or may not enter your house, I never allow this, and you should take firm charge of the situation NOW. The Target Trainingi will help with this, but having the dog learn a "QUIET" command will help as well.
Next time she alerts on something and is going to bark, such as a passerby outside, go to the door or window with her and encourage her, using a key word or phrase that you will then use throughout her life to let her know to alert. I always WHISPER this to my dog, for several reasons. It conveys a sense of urgency to the dog, and if I ever really do feel there is a prowler, or I need my dog to alert, I don't want to be YELLING at her. I say "Do you SEE somebody??" or sometimes, "WHO is that"? the first one is effective because of the SSSSSS sounds in it.
Encourage her with the words for about 15 seconds, and then say, That Will Do, Quiet, in a firm tone. Take the tab on her collar, lead her away from the window, and distract her with a toy. When she is quiet, take her into the kitchen for a treat.
I train all puppies this way. This way they learn that when you come take a look at the situation, and when you say THAT WILL DO, it's time to quiet. If you are consistent, firm, and fair, she will learn quickly that when you say THAT WILL DO, you mean business, and it's time to simmer down. I use a VERY firm tone of voice when I use this phrase, and it always means STOP NOW.
If you are not handling this dog in a manner that lets her know in clear and easy to understand terms who is in charge, she could have some confusion as to who is in control.
This article can be helpful to understand how your dog thinks, and how to make sure she sees you as her trusted leader.
http://www.chowwelfare.com/cciw/alpha.htmGood luck, and let me know if you have other questions.