我在visual studio 2015中创建了一个ASP.NET MVC项目。我将基于Windows Identity Foundation的模板用于visual studio中可用的个人帐户。
然后我为facebook和Google配置它。
当我从Visual Studio或IIS 7.5运行它时,它非常有效。我可以重定向到谷歌或Facebook页面,我能够使用电子邮件注册,我可以看到保存在数据库中的记录。
但是,当我在Windows Server 2012 R2上运行的IIS 8.5上部署应用程序时,单击Facebook或Google按钮时,会给我404资源未找到错误。
Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /account/externallogin
我的问题是我是否需要在IIS 8.5上进行任何进一步配置才能使外部身份验证正常工作。我认为问题是IIS 8.5无法识别启动类。
我添加了nuget包Microsoft.Owin.Host.Systemweb。
我在OWIN Startup类上声明为
[assembly: OwinStartup(typeof(StartupDemo.TestStartup))]
我也添加了
<appSettings>
<add key="owin:appStartup" value="StartupDemo.ProductionStartup" />
</appSettings>
web.config中的
此外,当我单击注册按钮时,在IIS 7.5中我可以注册并登录但在IIS 8.5上注册屏幕只是刷新而没有任何消息。
我验证了是否可以通过创建一个简单的控制器连接我的SQL Server,并且我能够在IIS 8.5中使用所有添加新的,编辑,删除和查看操作。
我认为IIS 8.5中有一些要求让OWIN正常工作,任何帮助都将非常受欢迎
答案 0 :(得分:1)
阅读this article以了解OWIN中间件如何在IIS集成管道中执行