【问题标题】:Admin Tool for my ASP.NET website where can I start from?我的 ASP.NET 网站的管理工具我可以从哪里开始?
【发布时间】:2013-01-22 16:48:17
【问题描述】:

我决定为我的 ASP.NET 4.0 网站编写一个也具有会员功能的管理工具。

我已为以下活动准备好业务层,

  1. 每天登录网站的用户数。
  2. 登录用户的平均花费时间。
  3. 已登录用户访问的页面。
  4. 每月用户登录频率。
  5. 等等等等。 尽管可以通过直接查看数据库或谷歌分析来检查上面列出的活动,但我更希望它们出现在一个地方,因为根据我从中看到的数据,我还有其他活动要跟进。

我更喜欢使用图表(开源 jquery 图表)。

我的担心我应该从哪里开始构建管理页面,例如在用户访问时在现有 Web 应用程序中或在单独的 Web 应用程序中(这真的可能吗)?

如果可以在单独的 Web 应用程序中使用,我如何将域映射到新的 Web 应用程序以供管理员使用。

【问题讨论】:

    标签: asp.net web-applications website-admin-tool


    【解决方案1】:

    由于您使用的是内置的 ASP.NET 成员资格,因此最简单的方法可能是创建一个名为“Admin”或任何您喜欢的子文件夹(就像您的应用程序中的任何其他文件夹一样),然后确保安全这个文件夹有一个web.config 文件,专门在那个文件夹中。您可以按角色或用户轻松保护文件夹。

    <system.web>
        <authorization>
            <allow roles="YOURRoles"/>
            <deny users="*"/>
        </authorization>
    </system.web>
    

    MSDN Entry

    对于图表,一个选项是Highcharts。有一个 .NET 库 (DotNet.Highcharts) 可以轻松地从代码隐藏中管理 Highcharts。我以前用过,觉得很人性化。

    【讨论】:

      【解决方案2】:

      我只是建议您可以创建一个名为“Admin”的文件夹。在那里你创建了所有的实现

      1. 使用授权来确保管理员门户的安全
      2. 日志记录

      授权

      将此添加到管理文件夹中的 web.config。 (添加-> web.config 在管理文件夹中)

      <location path="folder">
          <system.web>
              <authorization>
                  <allow roles="Admin" />
                  <deny users="*" />
              </authorization>
          </system.web
      </location>
      

      对于 Jquery 图表使用 JqPlot

      【讨论】:

        【解决方案3】:

        我建议您在应用程序域中创建一个子文件夹并在那里使用您的管理工具

        可以通过以下方式拥有两个单独的网络应用程序

        • 两个应用不共享代码 - 您可以让它们访问同一个数据库而不共享代码
        • 两个应用程序共享代码 - 您可以将一些逻辑打包到单独的项目中,并让您的 Web 应用程序引用它们。所有这些都可以发生在同一个解决方案文件中。您甚至可以让您的新管理应用以同样的方式引用原始应用。
        • 两个应用共享一些逻辑 - 您可以通过 API 公开一些逻辑,并让另一个 Web 应用访问 API

        我建议你只做第一个也是最简单的选择。

        【讨论】:

        • 假设我的域在 111.111.111.111 上运行,我为什么访问管理工具说我已遵循您的第一个建议两个应用程序不共享代码。您是说可以有两个单独的 Web 应用程序。我认为 appdomain 仅限于一个静态 ip。我是不是错过了什么。请务必澄清。
        • 如果你有一个域,你可以使用子域(www.mysite.com 会转到第一个 web 应用程序,admin.mysite.com 会转到第二个 web 应用程序)或者如果你必须坚持使用没有域名的 IP,那么您可以使用端口 111.111.111.111 将转到第一个 Web 应用程序,111.111.111.111:81 将转到第二个 Web 应用程序(请记住,默认 HTTP 端口是 80,因此 111.111.111.111 确实是 111.111.111.111: 80) 你甚至可以让 www.mysite.com/admin 转到 web 应用 2,即使它是一个单独的应用
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-02
        • 1970-01-01
        • 2023-01-18
        • 2011-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多