The difficulty you're having is that when she barks, she thinks she's winning because that person is going away. (When in fact they're just walking past)
So she needs to learn that sitting and watching makes the person go away.
I suggest you arm yourself with a clicker, some tasty treats, something to drop that will make a loud noise, and a few people who don't mind cooperating!
Whenever someone walks past, as soon as the noise starts, drop said item (something that will startle her so she stops to look, but not in order to frighten the living day lights out of her) as soon as she stops and looks towards the source of the noise click and reward (you will need to condition her to a clicker first).
When possible get your willing volounteer to walk past, but because you know when
they're coming, you can tell her to sit and focus on you, trickle feed her treats (as in a constant stream of them) while she's quiet and volounteer is passing, if she goes to bark, drop the loud item, click the quiet and reward.
As far as the task of the volounteer goes, they must walk on whilever she's quiet. The moment she begins to bark, the volounteer stops (doesn't look at the dog) until she's quiet again. This way she learns that quiet means they leave - barking means they don't.
This is very, very quick as we have a visitor coming but I will go back over it later if you want
I'll also add a post later about conditioning to a clicker (as I have more or less written it already in training advice sheets!)