我正在尝试建立一个内部网,成千上万的员工可以在这里创建、编辑文档并将其发布到网站。
这些文档将相当简单(可能是一个富文本字段和其他几个更简单的字段(。
我想把它们当作Umbraco后端文档(而不是说数据在单独的SQL表中(,这样它们就可以包含在部分视图中。
还会有其他更复杂的文档,但这些文档将由数量较少的后端用户管理,所以这很好。
我认为将成千上万的员工视为用户是不正确的,因为我读到这会导致性能问题。
因此,在放弃之前,我的最后一个想法——其他人建议——是将他们创建为成员,创建一些包含表单的前端页面,然后他们将这些表单提交给一个新的控制器,该控制器可以检查他们的成员资格,并使用API创建、编辑和/或发布提交的文档,
他们应该只能编辑自己创建的文档,因此控制器需要知道登录的成员是谁(并将其与我作为创建者存储在所有文档上的成员身份id进行比较(。
- 这可能吗?可以吗?还是会影响性能/安全性
- 如果可能的话,我可以只将控制器和视图上传到App_Code文件夹,而不编译和上传dll等吗
- 最后,我相信有可能根据成员的Windows(Active Directory(登录对其进行身份验证
很抱歉问了这么多问题,非常感谢任何能提供帮助的人。
确保一切皆有可能!
Ad.1查看ContentService文档(https://our.umbraco.org/documentation/reference/management/services/contentservice)只需使用它就可以在Umbraco文档的前端创建新的内容节点。您还可以查看Umbraco Rest API(https://our.umbraco.org/documentation/implementation/Rest-Api/),但它仍然是v1.0.0之前的版本,因此可能会引起一些问题(尤其是在安全方面(。我在这里写了一篇关于使用API的文章:http://24days.in/umbraco/2015/umbraco-rest-api/.
Ad.2.您可以这样做,但这不是推荐的解决方案。MVC应用程序默认创建为WAP(Web应用程序项目(,并且所有*.cs文件都是编译的,而不仅仅是App_Code目录中的文件。如果你有一个典型的网站项目,那么从架构的角度来看,将业务逻辑从WebSite/Umbraco实例中分离出来,并将其放入单独的DLL中会更好。顺便说一句,你为什么害怕部署?:(
Ad.3.当然!Umbraco使用ASP.NET Identity,因此可以将其扩展为使用任何自定义OAuth提供程序。甚至有几个已经为我们创建了。查看:https://our.umbraco.org/Documentation/Reference/Security/和https://github.com/umbraco/UmbracoIdentityExtensions.这是为访问Umbraco Backoffice而描述的,但也有允许成员使用Active Directory登录的包(例如。https://our.umbraco.org/projects/developer-tools/active-directory-providers/)。
编码快乐,我希望我能帮上忙!