none
还是.netloginform 问题。 RRS feed

  • 问题

  • 我做的管理系统应用了还是.netloginform 做用户名和密码验证。但是现在出现了个问题就是。所有的系统内的页面都必须要登陆后才能看到。但是需求中并不是所有的页面都需要验证的。有些页面是公开的...问下各位高手..这里该怎么限制呢?


    wyh
    2009年6月1日 8:37

答案

  •  ...非常感谢啊!我有一个想法...我不用验证的页面放在单独的一个文件夹下面..然后再这个文件夹下面再写一个webconfig文件.. 这个webconfig文件里面直接设置访问权限为所有用户..你觉得可以吗?
    wyh

    在.net 2.0中子文件夹下面的web.config中的system.web有些节点是失效的,或者说没有用的,会沿用根目录下的web.config,你可以试试,呵呵,这个我没用过哈

    直接加载在根目录下的web.config下也是可以的,比如

    <location path="/anonymousDirectory">
        <system.web>
          <authorization>
            <deny users="*" />
          </authorization>
        </system.web>
      </location>

    努力着就不会放弃!.net技术交流群 33083877http://hi.baidu.com/1987raymond
    • 已标记为答案 huiaiyun7 2009年6月1日 9:16
    2009年6月1日 9:11
    版主

全部回复

  • 我做的管理系统应用了还是.netloginform 做用户名和密码验证。但是现在出现了个问题就是。所有的系统内的页面都必须要登陆后才能看到。但是需求中并不是所有的页面都需要验证的。有些页面是公开的...问下各位高手..这里该怎么限制呢?


    wyh

    你好,可以针对单一路径进行权限设置
    <authentication mode="forms">
    <forms name=".ASPXAUTH " loginUrl="/login.aspx" timeout="30" path= "/">
    </forms>
    </authentication>

    这个上面加上类似的

    <location path="我的路径">
        <system.web>
          <authorization>
            <deny users="*" />
          </authorization>
        </system.web>
      </location>
    <location path="all.aspx">
        <system.web>
          <authorization>
            <deny users="*" />
          </authorization>
        </system.web>
      </location>
    <location path="onlyWe.aspx">
        <system.web>
          <authorization>
    <allow users="你,我" />
            <deny users="*" />
          </authorization>
        </system.web>
      </location>


    这个节点可以再System.web节点下存在多个


    努力着就不会放弃!.net技术交流群 33083877http://hi.baidu.com/1987raymond
    2009年6月1日 9:04
    版主
  •  ...非常感谢啊!我有一个想法...我不用验证的页面放在单独的一个文件夹下面..然后再这个文件夹下面再写一个webconfig文件.. 这个webconfig文件里面直接设置访问权限为所有用户..你觉得可以吗?
    wyh
    2009年6月1日 9:08
  •  ...非常感谢啊!我有一个想法...我不用验证的页面放在单独的一个文件夹下面..然后再这个文件夹下面再写一个webconfig文件.. 这个webconfig文件里面直接设置访问权限为所有用户..你觉得可以吗?
    wyh

    在.net 2.0中子文件夹下面的web.config中的system.web有些节点是失效的,或者说没有用的,会沿用根目录下的web.config,你可以试试,呵呵,这个我没用过哈

    直接加载在根目录下的web.config下也是可以的,比如

    <location path="/anonymousDirectory">
        <system.web>
          <authorization>
            <deny users="*" />
          </authorization>
        </system.web>
      </location>

    努力着就不会放弃!.net技术交流群 33083877http://hi.baidu.com/1987raymond
    • 已标记为答案 huiaiyun7 2009年6月1日 9:16
    2009年6月1日 9:11
    版主
  • 我试了下.貌似也可以用。多谢指点了。


    wyh
    2009年6月1日 9:16
  • 我试了下.貌似也可以用。多谢指点了。


    wyh

    不用谢,其实因为我前几天一个项目也是遇到这个问题了 因为之前我很少用.net自带的这个做权限验证,以前都是自己写程序做权限验证的,所以当时也找了很久,印象比较深刻
    努力着就不会放弃!.net技术交流群 33083877http://hi.baidu.com/1987raymond
    2009年6月1日 9:17
    版主