代码之家  ›  专栏  ›  技术社区  ›  ChadT

保护MVC视图,以便只有服务器可以访问它

  •  1
  • ChadT  · 技术社区  · 16 年前

    我正在构建一个.NET MVC应用程序,在这里我使用一个特定的视图来生成一个内部报告。我不希望该站点的用户访问该页面。

    我有一个控制台应用程序,它每隔一段时间就会触发一次,通过点击它的URL,从这个页面上获取一些细节。

    我不喜欢把网址挂在那里的想法,但我不确定是否还有其他的方法。

    思考解决这一问题的最佳实践方法是什么?

    编辑:

    下面是我在解决方案中创建了一个新的WCF服务项目。我也基本上复制了什么 将MVC视图页转换为此项目中的新标准Web窗体页。除了通过常规的.NET身份验证方法添加安全性(例如,仅设置有效的Windows用户可以访问该页),我还可以锁定vhost以仅由特定的IP访问。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Claus Thomsen    16 年前

    最佳实践是为此公开一个WCF服务,并建立一个与网站不同的安全模型。

    如果必须使用MVC,最好的方法是使用MVC和

    [Authorize(Roles = "SecureUser")] 
    

    在这个观点上。

        2
  •  0
  •   tvanfosson    16 年前

    如果除了为控制台应用程序提供数据外,根本不需要呈现视图,那么为什么不让控制台应用程序直接连接到数据库,直接获取数据,而不是通过Web应用程序?即使视图需要对某些用户可用,您仍然可以为控制台应用程序执行此操作,然后使用authorization属性控制对视图的访问,因为外部应用程序不需要访问该视图,因此可以适当限制该属性。