【问题标题】:Deny access to specific files for specific users拒绝特定用户访问特定文件
【发布时间】:2018-03-27 13:38:41
【问题描述】:

我的网站上有两个用户,用户A 和用户B。我有两个文件文件One 和文件Two。我只希望A 访问文件One,并且只希望B 访问文件Two。我怎样才能在 Asp.Net 中实现这一点。我知道我可以使用 web.config 方式如下

    <authorization>
    <allow users="user1, user2"/>
    <deny users=”?”/>
   </authorization>

但是我的用户和文件是动态创建的,所以我不能每次都去 web.config 并更改用户。有没有其他方法可以实现这一目标?也许以编程方式?

注意:这里的文件是图片或pdf等媒体文件

【问题讨论】:

  • 文件是指网页文件吗,例如:html、aspx 等?
  • @tharif nop,PDF 等媒体文件
  • 为什么要进行网络配置,您可以根据登录的用户类型设置访问权限!

标签: c# asp.net authorization


【解决方案1】:

如果您不想走 Web.config 的路线,则需要考虑创建自己的处理程序或类似进程来拦截内容并将您的安全规则应用于事物。

处理程序由特定的文件路径映射,因此您可以根据需要覆盖特定的根路径和文件类型。但是您必须处理安全和不安全的项目。

确切的实现比我在这里快速发布的要复杂一些。但是,this article 走过这些步骤/

【讨论】:

    【解决方案2】:
    Add this code in Web.config
    
    <location path="One.aspx">
    <system.web>
    <authorization>
    <allow users="A"/> 
    // allow John ..note: you can have multiple users seperated by comma e.g. John,Mary,etc
    
    <deny users="*"/>  // deny others
    </authorization>
    </system.web>
    </location>
    
    <location path="Two.aspx">
    <system.web>
    <authorization>
    <allow users="B"/> 
    // allow John ..note: you can have multiple users seperated by comma e.g. 
     // John,Mary,etc
    
    <deny users="*"/>  // deny others
    </authorization>
    </system.web>
    </location>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 2013-05-15
      相关资源
      最近更新 更多