2013-02-11 33 views
3

我正在阻止使用<deny users="?"/>匿名访问我的web应用程序。因为我想在登录页面是匿名用户访问我用下面的规则asp.net授权规则如何防止应用

<location path="Login.aspx"> 
<system.web> 
    <authorization> 
    <allow users="?"/> 
    </authorization> 
</system.web> 
</location> 

由于此规则防止CSS被应用到登录页面,我用附加规则

<location path="Style.css"> 
<system.web> 
    <authorization> 
    <allow users="?"/> 
    </authorization> 
</system.web> 

修复了它,现在css应用于登录页面。但在应用上述附加规则之前,我检查了浏览器中的页面源,发现有一个条目<link href="Style.css" rel="stylesheet" type="text/css" />并单击该链接,浏览器确实将我带入我的css文件并显示所有样式。所以我想知道该页面是否可以访问`Style.css',究竟是什么阻止浏览器将样式应用到不同的元素。

+0

实际上不会阻止匿名访问您的网站,它只允许所有通过身份验证的用户。这一行是防止匿名用户的方式。尝试在后添加它。 – bot 2013-02-11 09:11:12

+0

抱歉没有给你。我说过了吗?'防止任何人?我已经通过使用来禁止用户仅用于登录页面 – ZedBee 2013-02-11 09:17:18

+0

haha​​h ..抱歉,我的错我没有看到您的在你的第一句话.. XD – bot 2013-02-11 09:20:28

回答

1

我再次删除了额外的测试规则。

<location path="Style.css"> 
<system.web> 
    <authorization> 
    <allow users="?"/> 
</authorization> 
</system.web> 

我检查由@explunit在评论中指定浏览器CSS文件的状态。此时的状态为302,点击CSS链接不会显示CSS文件。我认为CSS是由浏览器缓存的,这就是为什么它第一次显示它。