【发布时间】:2011-07-24 05:38:57
【问题描述】:
我正在重写一个网络(应用程序?)。我会尝试简单地设置一下(哈哈)。我客户的网站是内置在 CMS 中的。其中大部分是静态内容。该网站托管在某处,但有一个登录区域供客户跟踪他们的订单和存储在我客户服务器上的其他动态业务内容。身份验证发生在双方([php] cms 管理会话,但包括密码在内的业务逻辑和客户数据驻留在我的客户端数据库中的客户端服务器上,并通过 wcf 提供)。对 wcf webservice 的每个 php 请求都会发布一个 json 身份验证字符串,如果通过身份验证,我的 wcf webservice 返回一个填充了请求数据的 json 结果(然后与 smarty 模板一起使用以生成 cms 发送到浏览器的输出)。
这一切都很好,除了 php 代码是巨大的意大利面条。其实按php标准可能还不算太差,但我习惯了……好吧,谁在乎呢,因为归根结底是我没有写,但我必须扩展它,并且每次修改花费的时间比应有的时间长 10(0?)倍,而且只会用更多的面条淹没干草堆(混合隐喻)。可恶的是,在它们上线之前没有测试更改。必须在生产环境中进行任何更改或添加(由于依赖于 CMS 环境)。因此,我必须将闪电战策略与编辑和祈祷相结合,并将第 11 根手指放在众所周知的还原按钮上(如果它只是还原的一个步骤,那不是很好吗?)。我曾多次尝试重构 php 方面,甚至编写了大约 75% 的完整重新实现。但是……
这个网络应用程序正在承担越来越多的责任和变更请求。对于这个客户,我用 C# 编写了一个 500,000 行的 ERP,他们的所有业务逻辑都驻留在其中。所以,我认为将所有代码都放在 .NET 中,对于我或任何追随者来说,都有一定的投资回报率。
对任何解决方案的唯一真正限制是 CMS 要显示的任何内容都必须附加到变量“$output”。这让事情变得非常开放。
无论如何,(通常是多余的,但希望是书呆子的娱乐)叙述是完整的。因此,我设置了一个简单的 php 包装器,它使用 cURL 来获取由我的新 mvc 应用程序支持的 url 的内容。这适用于get。我的问题是进行此操作的最佳方法是什么。来自 cms 端的每个请求都需要包含一些身份验证信息,它将从数据库(或其他)中检索并随请求一起发布。我想我会蚕食 wcf 网络服务并从 mvc 应用程序中提供所有内容。
所以基本上,编写 mvc 应用程序的最佳方法是什么,其中每个请求都是包含身份验证信息的帖子(可以是 json 或 xml)?我试图避免使用 [HttpPost] 装饰每个控制器方法,并且让每个操作方法都需要我的身份验证 dto 的参数,以便在某些时候我可以快速轻松地将所有身份验证切换为 asp 表单身份验证。
感谢(阅读)!
【问题讨论】:
-
我为你的客户感到难过。
-
你为什么为我的客户感到难过?
-
因为你不明白我为什么为你的客户感到难过。
-
那个花瓶又来了。
-
我想那是一种侮辱?如果是这样,你能启发我吗?还是我失败了?
标签: c# php asp.net-mvc-3 content-management-system