I have been facing this problem for quite some time, after lot of R&D I got the solution.
I used window authentication mode for my web application and added folloing entry in the web.config file.
< identity impersonate="true"/ >
I also unchecked anonymous access for reports, reportserver and my web application.
Another solution of this problem is that you create aspnet user in the server manager and assign it the permissions.
To do that:
1. Open the IIS console.
2. Right click the Reports virtual directory and click the view browser option.
3. Now, in the opened window, go to permission tab and add aspnet user.