When you use IWP, you publish the entire database, but you can use scripts and buttons to control what the user can see and do in the database. The scripts can distinguish users connecting via web from other users and then can select data and/or layouts accordingly--so you could design layouts that only present the info you want your web users to see and limit their access to just those layouts.
Crap, seems complicated. I guess il just seperate the two databases.
It can be simple or very complicated--depending on what you need to do.
I have a form i want techs to be able to access from anywere but want a list view tied to admin button. The admin database is not IWP i just want the form online.
I use IWP for this very purpose, to grant certain users access to a single form via the web, and it is incredibly easy to set up.
My database has a script that runs whenever the user logs in to the database. Depending on the privilege set of the user logging in, they are taken to a specific layout, etc. It is a very in-depth script to that handles many privilege sets, but this is the part I have set up for anyone logging in via IWP
Else If [Get(ApplicationVersion) = "Web Publishing Engine"]
Go to Layout["LayoutName"]
Show/Hide Status Area [Lock; Hide]
I have the status area hidden because I do not want to allow these users free navigation, record creation/deletion, etc. But that's the basic idea.