浏览:2062008-07-14 08:26   来自linkspeed      :
我有这么1个web.config

<?xml version="1.0"?>
 <configuration>
    <location path="Session/test.aspx">
        <system.web>
            <authorization>
                <allow users="*"/>
            </authorization>
        </system.web>
    </location>

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

    <system.web>
        <authentication mode="Forms">
            <forms name=".ASPXAUTH" loginUrl="login.aspx" protection="All" timeout="20"
                slidingExpiration="true" path="/" />
        </authentication>
        <customErrors mode="Off"/>   
    </system.web>
</configuration>

目的是开放Session/test.aspx给所有人,但是对其他页面则禁止匿名用户访问。
这个简单的测试页面在3台机器上都可运行。只有第4台机器,无论<deny users="?"/>
放在哪里,都会覆盖第一个<location path="Session/test.aspx">的设定。

这个东西没有代码,我也不知道该怎么debug,asp.net在执行form authentication的时候
就认定Session/test.aspx没有访问权限,然后自动转到login.aspx.

这个行为只在1台机器上发生,我需要去找出为什么来。

另外,不知道有没油人用过ETW, 当logman query providers中没有asp.net events
而机器上已经装了asp.net 2.0,该如何安装asp.net events?

这2个问题我在微软的论坛上都问了,没有人能回答。。。

多谢。

楼主
  1个月前   Justin      :
帮你顶一下先

这个问题估计大家以前也没你哦弄个,你最好发个Demo上来,然后让大家帮你实践
1楼 回到顶楼 
  1个月前   Allie      :
-..-也许你可以试试第五台 也许就能用了。。。第四台就不用了(开玩笑的 你这个问题太有深度了)
2楼 回到顶楼 
  1个月前   linkspeed      :
@Allie
@Justin

demo都在这里了。只需要再建2个aspx文件
1个是login.aspx,随便出点比如loginpage这样的字
另外1个是session\test.aspx,也随便出点字比如thisisatest

然后直接访问http://localhost/session/test.aspx
正常的话会出thisisatest
而在那台有问题的机器上则会重定向到login.aspx,看到的字就是loginpage

Allie,呵呵,今天出现第5台了。
这台机器以前machinekey不对,我重装了iis
然后重装.net 2.0 runtime,把DPAPI的错误修好了。然后就出这个毛病了。
我明天去找win2k3 sp2来试试。

3楼 回到顶楼 
  1个月前   linkspeed      :
问题解决了。解决方案:

1。reinstall win2k3 sp2
2. reinstall IIS
4楼 回到顶楼 

注册用户登录后才能回复,登录注册
> 返回“Debug 探索团队小组”


其他话题

相关链接
1 36588