所以我遇到了通过母版页获取CSS文件的问题。我有另一个问题:Can't get CSS loaded in Master page帮助我正确应用了链接标记(或不同的选项)。
这已在Firebug中得到确认,其中发现了回拨302,但未应用样式。
这个问题导致另一位撰稿人指出了我的Web.config中控制器/内容可能存在的访问问题。因此,这个问题的原因分开了“安全”相关的问题。
我已经阅读了许多完整的MVC应用程序教程,例如NerdDinner(v.1,v.2)和Pro MVC 2,并没有在我学习ASP.NET MVC的过程中提到很多阅读材料 - 以及我没有看到任何有关访问来源的详细信息,例如/内容给匿名用户只是为了加载css文件。我也没有读过任何MVC采取完全锁定的方法,你必须为特定角色/用户/每个人打开特定区域或者为所有人打开它。
所以我仍然遇到无法应用CSS规则的问题,即使它显示正在找到.css文件(302)。但另一个问题是我看到第二次调用在控制台中加载文件:
localurl.com/Account/Logon?ReturnURL=%2Content%2AdminViews.css
但错误是500。
现在我已经在web.config“身份验证”部分注释掉了登录URL行,并且我没有在路由词典中看到的路由。
对这两个相关问题有何看法?
更新
我发现问题与为什么重定向到
localurl.com/login.aspx?returnurl=content/adminview.css
是启用了表格身份验证(在IIS中),其属性设置为“Login.aspx”。更改此项会在直接访问文件时生成ACL权限(黄色死亡屏幕)
localurl.com/contents/adminview.css
我发现在内容目录中添加用户(即IUSR帐户)可以解决此问题。
所以我现在需要找到设置安全性的正确方法。我应该使用什么账户......等等。我已经获得了IUSR_ComputerName的访问权限,我的理解是默认的IIS匿名用户帐户。那么为什么这对于访问〜/ contents /目录中的资源来说还不够呢。
答案 0 :(得分:1)
您可以使用web.config访问这些资源。
<location path="Content">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>