2011-11-04 81 views
4

我有两个页面的应用程序:pagein.aspx和pageout.aspx。 Pagein.aspx只能访问我公司的内部网用户,但pageout.aspx必须可供外部用户(全球)访问。我最后的选择是使用授权(用户和密码),但我更愿意使用我描述的逻辑。这是可能的在asp.net?如果是,如何?Asp.Net:如何允许访问内网用户的网页并拒绝外网用户?

回答

5

您可以通过web.config中

<location path="Pagein.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" allow role="YourDomain\Domain Users" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</location> 
<location path="PageOut.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 
1

更简单的解决方案是有两个网站(两个虚拟目录),在一个启用Windows身份验证:http://msdn.microsoft.com/en-us/library/ff647405.aspx

在另一方面,使用ASP.NET成员资格,或将其公开和匿名用户访问。

如果您需要在同一个应用程序中使用各种授权技术,则需要授权某些页面并将其他页面向公众开放。