确保Sharepoint Foundation 2010上的应用程序完整性

时间:2010-06-29 10:52:29

标签: sharepoint-2010

我想在Sharepoint Foundation 2010之上开发一个自定义应用程序(多个屏幕,复杂的流程)。我决定为简单的逻辑编写可视化Web部件,为复杂的应用程序逻辑编写Silverlight Web部件。首先:这个决定好吗?

我的应用程序将在单独的数据库中使用它自己的数据。我的DB和Sharepoint之间的唯一连接是用户。用户将对Sharepoint进行身份验证并从那里访问我的应用程序。他们将属于某些角色,这些角色将在我的应用程序中定义他们的权利(管理员 - 管理子树用户的数据 - 或者他们将是常规用户 - 只能看到他们自己的数据)。

在我的应用程序(和数据库)中,所有这些用户都将是分层相关的。具有用户子树的用户是其子树的管理员。

问题?

如果我确实编写了Web部件(无论何种类型),我如何确保这些相同的Web部件也不会在其他Sharepoint站点中使用?它很可能会破坏应用程序,它当然可以复制相同的应用程序,但使用不同的用户......

我以为我也可以编写应用程序页面(因此我的应用程序将在_layouts文件夹中,因为我理解它),这将使重用我的应用程序成为可能,但用户和权限是在网站级别分配,所以我无法直接在Sharepoint中定义安全性......所以我不能以这种方式赢得...

这些都是关于我的瘦Sharepoint开发经验的所有规范,所以纠正我在上面的任何一个方面都错了......但是除了那些你会建议什么?如何建议我应该这样做吗?

1 个答案:

答案 0 :(得分:0)

在开发Web部件时,直接指向 WebPart 用于重用和个性化

回答第一个问题:WebPart开发是否正常,部分是因为,您有多个选项可以阻止在其他SharePoint Web应用程序或网站中访问或使用Web部件。

  1. 第一种方法是将您的webpart部署到Applications Bin目录,这样您的代码只能由您的应用程序访问而不是其他人。
  2. 第二种方式是,只有在Web.Config中存在安全控制条目时,才能在SharePoint Web应用程序中使用WebPart。
  3. 第三种方法是阻止用户个性化SharePoint中的任何页面,以便即使在他们自己的个性化页面中也无法部署任何Web部件。 (这可以通过删除个性化权利来实现。)
  4. Farm Admin应该是一个好人,他不会在其他不想要这个webpart功能的网站上添加安全控制条目。

    应用程序页面并不是一个好主意,因为通过名称,您可以猜测它们是在整个服务器场中共享的。可供服务器中部署的所有SharePoint网站访问。

    如果您对上述Web部件方法不满意,我建议您根据所需的权限要求创建子站点,并提供将进入每个子站点的页面。每个页面都有一个ASP.NET用户控件,用于保存您编写的业务逻辑。