Databases often end up with many views. This is usually because different people want to see different data in different ways. Well, what if you don't want some people to be able to see certain views on the web e.g. an "Application Settings" view that is only administered via the client. The best way to do this is probably to restrict the list of who can access the view in its properties.
But this is not always possible if the necessary Roles and Groups don't exist. What you may want to do is simply stop people from being able to see the view over the web. Here's how to do it:
- For all views that you want people to see over the web create a $$ViewTemplate for ViewName form with that view embedded in it.
- Create a form called $$ViewTemplateDefault which will be used by all other views that simply contains an "Access Denied" message and no embedded view.
- Do the same with forms called $$SearchTemplate for ViewName and $$SearchTemplateDefault so as to stop people being able to search these views.
It is worth pointing out at this point that this is by no means a security model. It simply stops your casual user from stumbling across things they shouldn't.