Building upon our impersonation example, there may be times when it's not a matter of granting additional abilities to an existing content contributor, but granting limited authoring capabilities to an anonymous user. For example, say you wanted to create a knowledge base (similar to Microsoft's) that allowed anyone in your company to contribute an article. However, you didn't want to grant a large population authoring rights to CMS. An alternative would be to build a basic Web form that collected all of the appropriate content, along with a display name, and programmatically created a posting. You would then programmatically submit the content for approval. In this way, you could allow anonymous content contribution and still maintain control of what content was published. Once the new article was approved, it would automatically show up on your site.