读书人

获取用户权限,该怎么处理

发布时间: 2013-12-19 00:33:34 作者: rapoo

获取用户权限
求教用item.GetUserEffectivePermissions(username)得出的结果是很细的权限信息(例如:查看网页,删除项目,查看项目,批准项目一大串)
怎样才能得出类似 完全控制 参与讨论 设计 这种权限组的权限信息?
[解决办法]
用SPRoleDefinition: http://sharepoint.stackexchange.com/questions/54691/how-to-find-permission-level-for-specific-user-using-visual-studio
[解决办法]
就组和当前权限 。。

1.判断当前用户是否具有完全控制权限


SPWeb web=SPContext.Current.Web;

SPRoleDefinitionBindingCollection usersRoles = web.AllRolesForCurrentUser;

SPRoleDefinitionCollection siteRoleCollection = web.RoleDefinitions;

SPRoleDefinition roleDefinition = siteRoleCollection["完全控制"];

if (usersRoles.Contains(roleDefinition))

{

//具有完全控制权限

}

SPWeb web=SPContext.Current.Web;

SPRoleDefinitionBindingCollection usersRoles = web.AllRolesForCurrentUser;

SPRoleDefinitionCollection siteRoleCollection = web.RoleDefinitions;

SPRoleDefinition roleDefinition = siteRoleCollection["完全控制"];

if (usersRoles.Contains(roleDefinition))

{

//具有完全控制权限

}

注意,如果你的sharepoint 版本是英语版本,请将完全控制四个字换成:Full Control

2.判断当前用户所在的组


SPWeb web=SPContext.Current.Web;

SPGroup group = web.Groups["Team Site所有者"];

if (group.ContainsCurrentUser)

{

//当前用户在"Team Site所有者"组内

}

SPWeb web=SPContext.Current.Web;

SPGroup group = web.Groups["Team Site所有者"];

if (group.ContainsCurrentUser)

{

//当前用户在"Team Site所有者"组内

}

注意:如果你的是英文版本,请将Team Site所有者 换成:Team Site Owners

读书人网 >行业软件

热点推荐