CNN reported the Web site Ghased News said the man missed Ahmadinejad, hitting a banner behind him instead.
CNN said it could not independently confirm the report.
The event allegedly happened in the northern city of Sari during a memorial for an oil minister who died last year, Ghased News reported.
The report said attendees at the event beat the 45-year-old man until security forces intervened. The thrower was identified only as Rashid S., a Sari resident once jailed for throwing eggs and tomatoes at former President Mohammad Khatami.
The textile worker had been out of work for a year.
CNN said throwing shoes is a sign of deep disrespect in Arab countries, but is not an Iranian tradition. In December 2008, an Iraqi journalist threw his shoes at President George W. Bush during a news conference in Baghdad in protest of the 2003 U.S. invasion.
The reporter was released after nine months in jail.
Aaron Carter is still in love with Hilary Duff
Ray Liotta sues skin care company over use of likeness