Have you looked at Crystal Reports, it comes with the new version of Visual Studio, and should be able to do most if not all of what you want.. The security aspect will probably have to be handeled by your Web Application. We do something similar to waht you are trying to do but we just use a common call interface to stored procedures in the database that display results in a datagrid, and have table that links reports and user id's so we can control on a per user basis what reports they get to run. We're looking to upgrade to using Crystal reports but havnt had time to yet, If you dont like CR i'm sure there are dozens of 3rd Party apps that do similar things.