I have written a couple of plugins that appear as tabs in Edit Mode (along the same row as things like View, Edit, Version, etc...).
The problem that I have, is that if a user is a member of the WebEditors group they can access the tabs regardless of whether-or-not they have permissions to change content.
What I would like to do is be able to disable the plugin tab if the user does not have Change permission (just like the Edit tab does).
I think you can specify the required access level in the GuiPlugin attribute
[GuiPlugIn(DisplayName = "TestPlugin", Description = "", Area = PlugInArea.EditPanel, Url = "~/TestPlugin.ascx", RequiredAccess= EPiServer.Security.AccessLevel.Edit)]
Works an absolute treat!