【问题标题】:Suggest right approach to develop a CMS application建议开发 CMS 应用程序的正确方法
【发布时间】:2010-10-25 10:24:59
【问题描述】:

我正在开发一个 CMS 应用程序。它的深度非常大,并且充满了可配置的功能。目前,我正在使用 Asp.net C#、表单身份验证和创建 UserControls 来开发它。

有很多可配置的项目需要在运行时根据用户角色来决定,有些规则是预定义的,有些将由管理员在运行时定义。所有信息都存储在数据库中。我遇到了很多关于 USerControls 的问题。我咨询了其他一些人,他们告诉我我的方法是错误的,我应该通过数据库数据获取。我真的不明白这是什么?就像我的所有页面都将存储在数据库中,并在运行时构建并按权限显示?

谁能建议我最好的方法,如果有任何例子请提供?

我们将不胜感激。

【问题讨论】:

  • 嗯,鉴于您目前的经验,也许您现在应该考虑使用 CMS。 Umbraco 是在 .NET 中构建的,并且是非常可定制的。我喜欢将其视为一个开发框架,而不是 CMS,它可能很适合您的目的。从头开始构建 CMS 系统很乏味,需要大量的开发和测试。
  • @Marko - 你说得对,我有 kontakio、Ambrao 和 .Net CMS 开发,但我们的客户需要我们自己的。那么,您能建议一些方法吗?
  • @Gaurav,具体要求是什么?
  • @marko - 要求会有很多拥有不同权利的客户,根据他们的权利,我们应该显示相关页面并为他们提供提交 cmets 和他们自己的文章的权利,并且管理员可以提供权利。一切都与要求有关
  • 听起来你正在构建一个博客/论坛系统。我仍然会使用带有 3rd 方包的 Umbraco 之类的工具,例如 blog4umbraco.codeplex.com

标签: c# asp.net content-management-system


【解决方案1】:

您是否使用 DataSource 绑定等来访问和读取数据库?如果是,那么你应该尽量避免它。例如:

  1. 构建查询,例如:“SELECT user_id FROM users WHERE login = ? and password_hash = ?”;
  2. 绑定参数“login”和“password_hash”
  3. 假设您使用“语句”变量进行查询:

    OdbcDataReader result = Statement.ExecuteReader(); //Look for specific database reader for your case    
    while (result.Read()) {
       integer user_id = result.GetInteger(0);
    }
    

类似的东西。 您可以在此处浏览更具体的数据库示例: http://www.easysoft.com/developer/languages/csharp/ado-net-odbc.html

【讨论】:

  • 比你的例子,它只是显示登录等。但主要查询与填充页面有关
  • 向我展示您的查询以及有关您身边如何运作的一些逻辑,我可以进一步描述一下
  • 目前我们有存储过程正在获取一些信息,我们将在用户控件中显示所有信息。与用户凭据一样,我们有 spUserCredentials 存储 dprocedure
【解决方案2】:

查看一些 CMS 系统,例如 Kentico、Dotnetnuke 或 Umbraco。他们可能会支持您尝试自己开发的开箱即用的东西...

【讨论】:

    猜你喜欢
    • 2010-11-15
    • 1970-01-01
    • 2015-08-02
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    相关资源
    最近更新 更多