我为自定义的 Blog 网站定义创建了许多网络范围功能。我的所有功能都可以正常使用,但它们会显示在我网站集中所有网站的“网站功能”页面上 - 而不仅仅是博客。
显然,它们仅与博客相关(因为它们可以执行诸如在博客帖子上启用匿名评论等)。
有没有办法限制某些网络范围功能对特定类型网站(即从特定网站定义创建的网站)的可见性?
答案 0 :(得分:0)
我认为不可能这样做。
如果您担心人们会从用户界面激活您的功能,则可以隐藏您的功能。
<Feature Hidden="TRUE"></Feature>
然后在您的自定义BLOG站点模板的ONET.xml中,您可以强制在创建站点时激活您的功能。
<Configurations>
<Configuration>
<WebFeatures>
<Feature ID="[Insert GUID of your feature]"/>
</WebFeatures>
</Configuration>
</Configurations>
这不会阻止通过STSADM或PowerShell激活该功能。如果你想走那么远,也许你可以为你的功能增加一个功能接收器,以防止它在非BLOG网站上被激活......但这是否真的有必要?