首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >经典的ASP - web.config拒绝规则不检测cookie

经典的ASP - web.config拒绝规则不检测cookie
EN

Stack Overflow用户
提问于 2015-05-25 07:37:26
回答 1查看 161关注 0票数 0

我已经使用了一个面向经典ASP应用程序(托管在Windows-Server-2012 /IIS8上)的互联网,它使用匿名访问,我想转移到窗体身份验证。尽管它不是直接向前的,但按照目前的情况(使用Anon.Access设置),未经身份验证的用户(即尚未登录的用户)可以查看.pdf、.doc等文件,如果它们输入了文件的确切URL路径(即安全通过匿名方式)。

问题

  • 我期待着当我没有登录时,当输入绝对URL时,我不应该能够看到..pdf(这是好的)
  • 不过,我也希望当我登录时,我应该能够在输入绝对URL时看到. pdf (这不会发生--当我输入一个pdf的绝对URL时,我会被重新定向回主页-我仍然登录,但不能在授权范围内检测到cookie --即上面的“拒绝”规则会以拒绝的方式响应,并将我发回主页--注意cookie存在并且还没有过期)

我的设置和我尝试过的

Cookie是通过以下代码设置的

代码语言:javascript
复制
Response.Cookies("MyAuthCookie") = myGuid
Response.Cookies("MyAuthCookie").Expires = DateAdd("h", 6, Now())
Response.Cookies("MyAuthCookie").Path = "/"

我试图通过.pdf授权限制对.doc、web.config文件的访问,如下所示

代码语言:javascript
复制
<location path="myProtectedFolder">
  <system.web>
    <authorization>
      <deny users="?" />
      <allow users="*" />
    </authorization>
  </system.web>
</location>
<system.web>
  <machineKey decryptionKey="XXXXXXXX99999999XXXXXXXX" validationKey="XXXXXXXX99999999XXXXXXXX" />
    <authentication mode="Forms">
      <forms name="MyAuthCookie" loginUrl="/index.asp" path="/" />
    </authentication>
  <authorization>
    <allow users="*" />
  </authorization>
</system.web>

模块已配置如下

代码语言:javascript
复制
<modules>
  <remove name="FormsAuthentication" /> 
  <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />    
  <remove name="UrlAuthorization" />    
  <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />    
  <remove name="DefaultAuthentication" />    
  <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" />
</modules>

...and处理程序如下(由ISAPI处理)

代码语言:javascript
复制
<handlers>
  <add name="pdfs64" path="*.pdf" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="File" requireAccess="Read" preCondition="classicMode,runtimeVersionv4.0,bitness64" />
  <add name="pdfs" path="*.pdf" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="File" requireAccess="Read" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
</handlers>

其他值得注意的领域

  • 我的网站设置为Anon.Access和Forms (我自己尝试了Forms )。
  • 我已将网站文件夹/子文件夹读取/执行给AppPool标识用户和“身份验证用户”。
  • 我已经用集成管道将AppPool标记为.Net 2(也尝试了.Net 4) (也尝试了经典)

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-12 02:22:42

我在FormsAuthentication中创建了一个真正的HttpModule cookie (模块配置是模块部分)。这就容纳了允许/拒绝规则。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30433341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档