Just have to keep working with him on it. BeBe will do this because she is a good watch dog and protector, (her mama instincts) I just tell her "BeBe NO" and she shuts up. You can do exercises with him and use a friend to help you. Put a leash on him and have your friend knock on the door. When he barks tug sharply on the leash to the side or tap him on the rear with your foot to redirect and make him sit, before opening the door. If he gets up make him come back to you and sit before your friend comes in. When your friend does come in tell them to walk passed the dog and do not look at or show him any attention. This takes time and patience to do, but be consistent and it will work out. This should help with the barking also. Just be patient, consistent, and calm. This kind of training works for me, and I'm sure others will have different ideas, you just need to find the one that works for you.