I was doing some work on enabling declarative component level render permissions alongside shale-clay. What I came up with was to use the postProcessCreateComponent pluggable command in clay's chain. In this command I check the current component for an attribute called 'renderIfRoleIn'. This attribute is designed to be a comma delimited list of user roles. I then check if the user's role is in this list using request.isUserInRole(nextRole); if not I set the rendered property of the component to false.
I was thinking this might be something that could be useful at a shale or clay level. If not at that level then maybe a shale-xxx.jar plugin. Any thoughts? Ryan