我想在Sharepoint Foundation 2010之上开发一个自定义应用程序(多个屏幕,复杂的流程)。我决定为简单的逻辑编写可视化Web部件,为复杂的应用程序逻辑编写Silverlight Web部件。首先:这个决定好吗?
我的应用程序将在单独的数据库中使用它自己的数据。我的DB和Sharepoint之间的唯一连接是用户。用户将对Sharepoint进行身份验证并从那里访问我的应用程序。他们将属于某些角色,这些角色将在我的应用程序中定义他们的权利(管理员 - 管理子树用户的数据 - 或者他们将是常规用户 - 只能看到他们自己的数据)。
在我的应用程序(和数据库)中,所有这些用户都将是分层相关的。具有用户子树的用户是其子树的管理员。
如果我确实编写了Web部件(无论何种类型),我如何确保这些相同的Web部件也不会在其他Sharepoint站点中使用?它很可能会破坏应用程序,它当然可以复制相同的应用程序,但使用不同的用户......
我以为我也可以编写应用程序页面(因此我的应用程序将在_layouts文件夹中,因为我理解它),这将使不重用我的应用程序成为可能,但用户和权限是在网站级别分配,所以我无法直接在Sharepoint中定义安全性......所以我不能以这种方式赢得...
这些都是关于我的瘦Sharepoint开发经验的所有规范,所以纠正我在上面的任何一个方面都错了......但是除了那些你会建议什么?如何建议我应该这样做吗?
答案 0 :(得分:0)
在开发Web部件时,直接指向 WebPart 用于重用和个性化。
回答第一个问题:WebPart开发是否正常,部分是因为,您有多个选项可以阻止在其他SharePoint Web应用程序或网站中访问或使用Web部件。
Farm Admin应该是一个好人,他不会在其他不想要这个webpart功能的网站上添加安全控制条目。
应用程序页面并不是一个好主意,因为通过名称,您可以猜测它们是在整个服务器场中共享的。可供服务器中部署的所有SharePoint网站访问。
如果您对上述Web部件方法不满意,我建议您根据所需的权限要求创建子站点,并提供将进入每个子站点的页面。每个页面都有一个ASP.NET用户控件,用于保存您编写的业务逻辑。