我已经创建了一个具有个人用户身份验证的web api。用户注册后,他的信息存储在两个表中,他的一般信息存储在"AspNetUsers"表中,而他的角色存储在"AstpNetUserRoles"表中。现在的问题是,当我试图从列表中删除任何用户时,它都不起作用。以下是删除操作:
[ResponseType(typeof(AspNetUser))]
[ActionName("EmployeeInfo")]
[DeflateCompression]
public IHttpActionResult DeleteEmployeeInformation(string Id)
{
AspNetUser AspNetUser = db.AspNetUsers.Find(Id);
if (AspNetUser == null)
{
return NotFound();
}
db.AspNetUsers.Remove(AspNetUser);
db.SaveChanges();
return Ok(AspNetUser);
}
这是ajax调用:
function DeleteEmployeeInformations(recordID) {
jQuery.support.cors = true;
var id = recordID
$.ajax({
url: 'http://localhost:61115/api/EmployeeInformations/EmployeeInfo/' + id,
type: 'DELETE',
contentType: "application/json;charset=utf-8",
success: function (data) {
GetAllEmployeeInformations();
},
error: function (x, y, z) {
alert(x + 'n' + y + 'n' + z);
}
});
}
这个操作在没有asp.net标识的情况下运行良好,但在我使用asp.net标识时不起作用。那么我该怎么办呢?谢谢
AspNetUser
和相关联的表应该使用ASP.NETIdentity框架进行访问。
这将涉及使用特定的类来对用户、角色等执行CRUD操作。在这种情况下,它将是CCD_ 2。
本文介绍的是:
ASP.NET Identity简介
要删除User
,您需要使用UserManager.delete方法。您还需要通过UserManager
检查并删除任何现有角色。
GitHub上有一个很好的例子,它展示了我发现对入门有用的常见功能。
AspnetIdentitySample