In The Dark Knight Rises, when Catwoman (Selina) brings Batman to Bane's place, she trapped him in Bane's place, after a short while Bane came and called Batman by his real name, Bruce Wayne. I was stunned at that moment, because how did he know Batman's real name?
I believe that the existing theory that they were both in the League of Shadows doesn't hold water. They were members at different times and there's no evidence that the two ever crossed paths under Ra's al Ghul's roof. In addition, Bane was excommunicated before Bruce ever joined up.
However, Bane was trained by the same man; he learned the same lessons, many of which Bruce took to heart including the value of a symbol, the theatricality and the value of fear. As a result, many of the deceptions Batman employs (like the distracting charges when they first fight) have no effect on Bane (you see him simply standing there while the explosives go off around him).
I believe that the original intention was that Bane saw through the mask because Batman was simply another of these deceptions. He saw Bruce, he saw Batman, and could see through the distractions to the person underneath.
The disguise would fool a normal person but not someone who has been initiated into the league!
Bruce was trained at the League of Shadows by Ra's al Ghul. Bruce Wayne being a member of the League was probably public knowledge, and Ra's most likely put together that Batman=Bruce Wayne since he used most of the same techniques the League used. This knowledge was confrimed in Batman Begins.
Ra's probably didn't keep the relationship of Batman and Bruce Wayne a secret from the League, hence how Talia knew that Bruce Wayne was Batman. This allowed her to infiltrate Wayne Enterprises without Wayne suspecting a thing. Also, since Bane was a part of the League, he too knew of Wayne's "secret" identitiy.