2011-03-07 24 views
1

所以我遇到了通过主页面应用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 - 并且我还没有遇到任何有关访问诸如/ Content等资源的详细信息给匿名用户来加载css文件。我也没有阅读任何MVC采取的方式,它完全被锁定,并且您必须为特定角色/用户/所有人开放特定区域,或者为所有人开放它。

所以我仍然无法获得应用CSS规则的问题,即使它显示.css文件被找到(302)。但另一个问题是,我看到了第二个电话来加载文件中的控制台:用500

现在,我已经在我的web.config注释掉登录URL行

localurl.com/Account/Logon?ReturnURL=%2Content%2AdminViews.css 

但错误“身份验证”部分,并且我的路由字典中没有可以看到的路由。

对这两个相关问题有什么想法?

UPDATE

我发现,为什么重定向到

localurl.com/login.aspx?returnurl=content/adminview.css 

是theforms认证(在IIS)被设置为 “的Login.aspx” 属性中启用的问题。更改访问文件直接

localurl.com/contents/adminview.css 

我发现将用户添加到内容目录(即IUSR帐户)会解决这个问题,这时候产生的ACL权限(死亡黄屏)。

所以我现在需要找到什么适当的方式来设置安全。我应该用什么账号......等等。我确实已经拥有了IUSR_ComputerName的访问权限,我的理解是默认的IIS匿名用户帐户。所以为什么这样做不足以访问〜/ contents /目录中的资源。

回答

1

您可以允许使用web.config访问这些资源。

<location path="Content"> 
    <system.web> 
     <authorization> 
      <allow users="*"/> 
     </authorization> 
    </system.web> 
</location> 
+0

我已经这样做了。但我已经加载了前面提到的资源进行此更改,但它仍然没有得到应用,并且我仍然遇到第二次调用它试图指向帐户/登录的问题?returnurl =/contents/adminview .css – pghtech 2011-03-07 22:10:25

+0

你可以直接加载css吗? EG:localurl/contents/adminview.css?(假设您的信息是正确的url) – 2011-03-07 23:31:54

+0

如果您发布显示拒绝访问用户的条件的代码 – 2011-03-07 23:33:15