SharePoint 2010 ships with the SPSecurityTrimmedControl that allows you to conditionally display content to users based on their permissions. On top of that it gives you the ability to display content to anonymous/authenticated users only which unfortunately doesn’t work. And although you might want start off and develop something of your own, it turns out that for all this time there was a solution for this just around the corner.
Programmatically granting permissions in SharePoint 2007 wasn’t that very complicated. You could grant permissions either to a User or a Group and in order to do that all you needed was a reference to that User/Group. As you might have heard SharePoint 2010 supports claims based identity what allows you to grant permissions using the identity of the user rather than a specific way of authentication. If you’ve looked through the public SharePoint 2010 API you might have noticed that there is no specific method that allows you to programmatically grant permissions to a claim. So how do you do that?
The new Visual Studio 2010 SharePoint Developer Tools simplify the process of developing SharePoint 2010 Solutions. By encapsulating much of the plumbing of the packaging and deployment process they enable developers to create SharePoint 2010 Solutions easier and faster. Unfortunately in some scenario this simplification comes with a price and working with SPWebConfigModifications is one of such scenarios.
In the first part of this article we discussed how ASP.NET Profiles can help us extend SharePoint Server 2010 Audiences capabilities with targeting content to anonymous users. We discussed what ASP.NET Profiles are, how they work and how they can be configured with SharePoint Server 2010. In this part of the article we will extend the SharePoint Server 2010 Audiences so that they can make use of the data stored in ASP.NET Profiles.
SharePoint Server 2010 ships with the content targeting capability based on Audiences. Using this mechanism you can conditionally display content to groups of users based on their profiles. One shortcoming of this approach is that it needs user profiles which are not available on Internet-facing websites for anonymous users. However, using nothing more than the standard capabilities of the SharePoint framework and ASP.NET you can easily extend the standard content targeting mechanism to support targeting anonymous users.