我正在尝试使用WebApi 2
在 ASP.NET 中创建一个简单的登录页面,但是实际上通过在Web上搜索,我发现我应该将中间件用作{{1} }进行令牌身份验证,但实际上只有在应用程序位于 ASP.NET Core 中时,它才有效。.
因此,我认为只需在登录名上将登录数据存储在会话中但要惊奇,WebApi 2中不允许使用会话...
所以实际上我的代码如下所示,这是我向服务器发出OWIN
请求并在POST
中存储一些数据的jquery代码
sessionStorage
这是我的 function logIn(username,password) {
let data = { username: username, password: password };
$.ajax({
type: "POST",
data: JSON.stringify(data),
url: 'api/utenti/login/',
contentType: "application/json",
success: function (d) {
if (d === null) {
alert("Username o password errate!");
} else {
sessionStorage.setItem("id", d.id);
sessionStorage.setItem("username", d.username);
sessionStorage.setItem("piva", d.piva);
sessionStorage.setItem("negozi", d.negozi);
sessionStorage.setItem("role", d.role);
window.location.replace("https://localhost:44300/");
}
}
});
}
Login Controller
这是我的<RoutePrefix("api/utenti")>
Public Class UtentiController
Inherits ApiController
<HttpPost()>
<Route("login")>
Public Function GetLogin(ByVal data As Utenti.Login) As Utenti
If data.username = "" Or data.password = "" Then
Return Nothing
End If
Dim utenti As Utenti = New Utenti
Return utenti.UserExists(data.username, data.password)
End Function
End Class
,我在其中检查用户是否存在,并返回从DB获取的用户详细信息
Utenti.Class
那么从上面的代码中,我如何进行简单的身份验证?我不是要输入代码,而是任何建议,因为这是我第一次基于Api登录