0

我是一个使用基于声明的身份的ASP.Net MVC应用程序。我创建了一个安全令牌服务(STS)进行身份验证。我的MVC应用程序托管在IIS默认网站上。我的应用程序运行完美。但脚本不起作用。目前我已禁用匿名身份验证(这是要求)。谢谢。脚本和样式不能在基于声明的身份中工作

错误消息: enter image description here

回答

2

最后我得到了解决方案。

对于基于身份的权利,我们必须以配置webconfig如下:

<modules> 
     <remove name="FormsAuthentication" /> 
     <add name="WSFederationAuthenticationModule" type="System.IdentityModel.Services.WSFederationAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode" /> 
     <add name="SessionAuthenticationModule" type="System.IdentityModel.Services.SessionAuthenticationModule, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode" /> 
    </modules> 

它将工作。

谢谢大家.............

+0

你知道吗,这是否也是MVC5似乎使用基于声明的模型的要求。 – Tim

+0

对不起,我没有得到你... –

+0

你指定的web.config部分,它不是在我的web.config中从一个vs2013预览MVC5模板。所以问题是,如果我在MVC5中使用新的基于声明的模型,我应该有你指定的web.config模块部分?或者,我假设Windows窗体身份验证应该在网站上禁用。 – Tim

1

你应该允许访问脚本文件夹中的所有请求,这增加的web.config。也允许以同样的方式访问CSS文件夹。

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

我已将此代码添加到webconfig文件中。但不工作。在IIS中,我禁用了匿名身份验证。 –

+0

另外我的脚本路径是http://localhost/Framework/dept/cdadepst.js .......然后我怎么才能添加位置路径...你能给我一个解决方案吗? –

+0

确保你给出的路径是正确的。你只需要指定相对路径。 – ssilas777

相关问题