• 如何为基于windows验证的站点的某个页面、文件或文件夹单独设置匿名访问


    【转】https://blog.csdn.net/weixin_34232744/article/details/85578799

    在MOSS的项目中,我们经常碰到要单独为基于windows验证的站点的某个页面、文件或文件夹单独设置匿名访问即不登录就可以直接访问。比如说站点的A的某些图片或文件URL存在B站点下的文件夹下。此时访问A站点需要登录2次,因为A站点需要登录一次。但是图片或文件在B站点下的也需要在认证登录一次(说到这里人有人会moss文件都在数据库里头,其实这个情况根据自己业务来决定的。也许在某些情况下必须放到文件夹下,比如大文件,还有比如特定的某些上传组件或操作组件,上传文件存在文件夹下)。为了满足登录一次(当然还有其他情况,比如不需要登录一次可以直接访问,比如自己变相改造windows登录界面的,这个问题我在后面博客会写到。),因此有必要对单个文件或页面或文件夹进行匿名访问设置。

    打开IIS管理里界面,我这里是IIS7.5为例子

    1、单个文件或页面匿名访问设置

    如我想设置login.htm为匿名访问。打开站点如下图:

    image

    选中login.htm右键弹出如下

    image

    选中【切换到功能视图】

    image

    选中操作完毕后

    image

    选中login.html,选择右边【功能视图】-【身份验证】,启用:匿名身份验证,如下图:

    image

    需要注意点如果login.htm页面引用了其他文件夹,比如图片、样式、脚本等文件夹也需要匿名设置,具体设置请看下面的文件夹匿名访问设置。

    这里我的login.htm引用了images文件夹下的图片

    2、文件夹匿名访问设置

    接着上面的来,这里以images文件夹为例子,来说明如何对文件夹设置匿名访问,如下图:

    找到images文件夹选中他。在右边【功能视图】-【身份验证】如下图:

    image

    进入后设置启用匿名访问,如下图:

    image

    说道这里大家以为说完了,其实基本差不多。但是有个时候我们自己开发的.NET基于windows验证的网站,可能在web.config做了如下设置。如下图

    <authentication mode="Windows" />
        <authorization>
          <allow users="*" />
        </authorization>

    image

    那此时经过上面设置步骤后,还需要在该站点的web.config对如上的文件或文件夹进行如下设置:

    <location path="Images">
        <system.web>
          <authorization>
            <allow users="*" />
          </authorization>
        </system.web>
      </location>

    image

    设置后保存。此时匿名设置才算成功。自己可以去测试下。

  • 相关阅读:
    C#中索引器的实现过程,是否只能根据数字进行索引?
    重载与覆盖的区别?
    C#中 property 与 attribute的区别?
    C#可否对内存进行直接的操作?
    在c#中using和new这两个关键字有什么意义?
    secs/gem协议
    框架2
    C#开发框架学习
    C#两种数据类型
    泛型参数
  • 原文地址:https://www.cnblogs.com/wohenxinwei/p/15715658.html
Copyright © 2020-2023  润新知