我们有许多使用经典 ASP 和 ASP.NET 2.0 技术编写的定制 Web 应用程序(外部和内部)。内部用户可以将文件上传到这些网站,然后外部用户可以查看这些文件。在某些情况下,外部用户也可以上传文档。屏幕截图 # 1简要介绍了现有架构。
内部用户将文档上传到
custom web applications
. 这些文档存储在 Web 应用程序下定义的文件夹结构中。元数据和用户权限(例如谁可以访问文档)存储在
SQL Server
数据库中。上传到的同一组文档
custom web applications
也存在于SharePoint
. 但是,自定义 Web 应用程序不知道 SharePoint。因此,用户必须从 SharePoint 下载它们,然后将其上传到自定义 Web 应用程序。我们目前正在使用SharePoint 2010
.外部用户还可以将文档上传到自定义 Web 应用程序。根据上传文档的用户,将文档的元数据和用户权限保存到数据库中。
截图#1:
屏幕截图# 2显示了我想要实现的架构。我很少进行 SharePoint 开发。大多数情况下,我使用 SharePoint Web 服务来检索一些列表内容,但仅此而已。我们未来的自定义 Web 应用程序可能会使用 ASP.NET MVC 编写。请在截图后找到问题。
截图#2:
以下是我的问题:
我想
internal users
继续在 SharePoint 中上传和维护他们的文档。用户安全模型已在SQL Server
数据库中定义。此安全权限应在 SharePoint 文档属性中可用,以便用户可以选择哪些人可以从自定义 Web 应用程序查看文档。我怎样才能做到这一点?我是否必须将 SQL Server 用户权限信息复制到 SharePoint?我相信
SharePoint Web Services
或者Business Connectivity Services (BCS)
可以帮助从 SharePoint 中检索文档及其相关信息。其中哪一个更适合这种情况?自定义 Web 应用程序应仅显示已提交的文档版本。如果用户已在 SharePoint 中签出文档以进行任何更改,则该文档的签出版本不应对外部用户可见。那可能吗?
有没有人尝试过这种方法?这个模型有什么陷阱吗?这种设计是否存在性能问题?
如果我使用 ASP.NET MVC 重写我们现有的应用程序,这种设计会不会有任何障碍?
是否可以在自定义 Web 应用程序 (
ASP.NET Web Forms
/ASP.NET MVC
) 中使用 SharePoint 搜索功能?换句话说,我可以从自定义 Web 应用程序发送搜索条件并让 SharePoint 进行搜索并将结果返回给自定义 Web 应用程序吗?
我非常感谢您的意见。
提前致谢。