我有两个页面的应用:pagein.aspx和pageout.aspx。 Pagein.aspx必须只能访问我公司的内部网用户,但是外网用户(世界)必须可以访问pageout.aspx。我的最后一个选择是使用授权(用户和密码),但我更喜欢使用我描述的逻辑。这可能在asp.net中吗?如果是,怎么样?
答案 0 :(得分: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 :(得分:1)
更简单的解决方案是拥有两个网站(两个虚拟目录),一个启用Windows身份验证:http://msdn.microsoft.com/en-us/library/ff647405.aspx
另一方面,使用ASP.NET成员资格,或将其公开并由匿名用户访问。
如果您需要在同一个应用程序中同时使用各种授权技术,则需要对某些页面进行授权,并将其他页面保留给公众。
答案 2 :(得分:0)
我认为这篇关于Building Secure ASP.NET Applications的文章会给你一个基本的想法。