Webapi无法写入数据库

时间:2017-08-10 13:23:00

标签: c# asp.net asp.net-web-api

我创建了一个简单的webapi和一个带有不同端口的简单网页来注册新用户。当我的网页使用webapi时。它总是表现出来 这个数据库是创建的。它可以与同一个webapi项目中的本地主机一起使用。 我已经将我的IIS应用程序池添加到mysql安全性中。

错误500

  

在数据库' atestDB'

中拒绝了CREATE TABLE权限

我注意到如果我在连接字符串中删除此行。它会正常工作。

Integrated Security=True

所以我的问题是。我可以不在我的SQL连接字符串中集成吗?

网页

 $(document).ready(function()
    {
        $('#btnregister').click(function ()
        {

            RegisterBindingModel.Email = $('#Email').val();
            RegisterBindingModel.Password = $('#Password').val();
            RegisterBindingModel.ConfirmPassword = $('#ConfirmPassword').val();
            debugger
            $.ajax({
                url: 'http://www.azapi.com:81/api/account/register',
                type:'Post',
                contentType: "application/json; charset=UTF-8",
                data: JSON.stringify(RegisterBindingModel),
                success: function(data) {
                    debugger
                    alert(data)
                },
                error: function (err) {

                    alert(err.status)
                }

            })

        })

    }
    )
</script>

的WebAPI

使用.net的标准注册api 启用了交叉。

 EnableCorsAttribute cors = new EnableCorsAttribute("*","*","*");
        config.EnableCors(cors);

1 个答案:

答案 0 :(得分:0)

您可以将 Integrated Security 设置为 false 。如果将其设置为false,则使用连接中的ID和密码来验证您的身份。如果你这样做,请记住,使用敏感数据(如密码,硬编码)并不是一个好主意(实际上这是一个非常糟糕的主意)。有几种方法可以避免这种情况。如果您希望通过两种方式查看this post的答案。