我用web api创建了一个默认的MVC 4应用程序。到目前为止,我添加了一些API调用。 我想使用开箱即用的会员提供商,没有自定义。
在我的本地计算机上,我添加了两个用户并添加了两个用户角色。
在api中我已经为API调用类添加了[Authorize]属性。如果用户未登录,它可以很好地阻止对API的调用。
然而,当我将应用程序部署到Amzaon Beanstalk时,注册和登录功能被破坏。我正在
Error. An error occurred while processing your request.
在我的应用程序的web.config中:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-UserListsActionsTest-20131103214231;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-UserListsActionsTest-20131103214231.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
此外,我已经转到项目的属性并将“要部署的项目”设置为此项目中的所有文件。
这还不够吗?我需要在beanstalk上创建一个SQL数据库吗?
非常感谢一些帮助。
答案 0 :(得分:2)
根据我的经验,我使用Amazons RDS服务创建一个SQL Server实例,并将我的连接字符串指向我将运行所有迁移到该数据库的连接字符串。或者您可以使用适当的连接字符串将其指向任何SQL Server实例。
然后,您可以调用update-database并使用Seed()
方法创建用户/用户角色。
仅供参考:您可能需要在RDS实例中配置某些端口/权限,以便与Elastic Beanstalk实例保持友好关系。 (想想安全组)
我还会下载适用于Visual Studio的AWS Toolkit,因为它有助于您使用数据库连接字符串进行设置,并能够直接发布到AWS Elastic Beanstalk。