通过探索权限,评论和博客文章之间似乎没有区别。
我可以将用户设置为贡献者,允许他们发表评论,并表示他们的帖子需要apporval。但我想阻止他们即使作为草稿也能创建一个帖子。
非常感谢
答案 0 :(得分:1)
我已经破解了!
在主页面上有一个管理帖子的选项。在该页面中,有一个设置权限的选项。完善。
答案 1 :(得分:0)
“我的网站”中的博客是使用“我的网站博客”功能(863DA2AC-3873-4930-8498-752886210911)创建的。功能接收器内部是以下代码,它通过将编辑访问权限设置为仅自己的,修改角色继承以及授予对访客组的访问权限来修改“注释”列表:
int num2;
SPList list3;
SPRoleDefinition byType;
SPRoleAssignment assignment;
UserProfileManager manager;
string str2;
string[] strArray2;
int num3;
string str = parent.RootWeb.AllProperties["vti_associatevisitorgroup"] as string;
SPGroup principal = null;
if (!string.IsNullOrEmpty(str))
{
num2 = int.Parse(str, CultureInfo.InvariantCulture);
principal = parent.RootWeb.SiteGroups.GetByID(num2);
}
list3 = GetList(web, SPListTemplateType.Comments);
list3.WriteSecurity = 2;
byType = web.RoleDefinitions.GetByType(SPRoleType.Contributor);
list3.BreakRoleInheritance(true);
web.AllowUnsafeUpdates = true;
if (principal == null)
{
manager = new UserProfileManager(ServerContext.GetContext(parent));
strArray2 = manager.PersonalSiteReaders.Split(new char[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries);
num3 = 0;
while (num3 < strArray2.Length)
{
str2 = strArray2[num3];
try
{
SPRoleAssignment roleAssignment = new SPRoleAssignment(str2, null, null, null);
roleAssignment.RoleDefinitionBindings.Add(byType);
list3.RoleAssignments.Add(roleAssignment);
}
catch (Exception exception)
{
ULS.SendTraceTag(ULSTagID.tag_7otc, ULSCat.msoulscat_SPS_UserProfiles, ULSTraceLevel.Medium, "Ignored one invalid user for the personal site reader (%s): %s.", new object[] { str2, exception });
}
num3++;
}
}
else
{
assignment = new SPRoleAssignment(principal);
assignment.RoleDefinitionBindings.Add(byType);
list3.RoleAssignments.Add(assignment);
}
list3.Update();
ULS.SendTraceTag(ULSTagID.tag_6y3j, ULSCat.msoulscat_SPS_UserProfiles, ULSTraceLevel.Medium, "Successfully activated MySite Blog Feature");
我可能会编写一个类似的自定义功能接收器。但是,如果我只需要网站集中的单个博客并且可以接受博客的URL,我可以尝试通过激活“我的网站博客”功能来创建博客。