我负责在SharePoint 2010中构建企业级自定义应用程序,并且我正在尝试为用户找出一个好的授权方案。应用程序必须从现有LOB数据库中检索数据,并根据用户的角色精细显示其中的一些部分。是否更好地使用SharePoint的用户配置文件并添加一些自定义属性来处理这种细粒度的安全性,或者放弃SharePoint的配置文件并使用SQL Server路由来存储用户和角色?感谢。
答案 0 :(得分:1)
使用SharePoint执行此操作的最简单方法是为每个“角色”创建不同的组,并在处理引用受保护操作的代码时检查用户是否是相应组的成员。
很容易做到这一点:
SPGroup myGroup = SPContext.Current.Web.SiteGroups["My Group Name"];
if(myGroup.ContainsCurrentUser)
{
// user is in the group, execute code necessary.
}
答案 1 :(得分:0)
最终我们决定使用SQL Server。但是,我们还在SharePoint中定义了用于驱动页面导航的高级角色。进入特定页面后,应用程序代码将检查SQL DB以确定要显示的页面元素。