【发布时间】:2015-08-19 21:19:05
【问题描述】:
我是 web api 的新手,我注意到那里不支持会话。我发现令牌是进行身份验证的最佳方式,但我不知道如何在我的应用程序中实现它。我发现的一切对我来说都没有帮助而且太复杂了。
难道没有这么简单的东西吗?
Public Sub Login(<FromBody()> ByVal Email As String, <FromBody()> ByVal Password As String)
cmd.CommandText = "[dbo].[Login]"
cmd.CommandType = Data.CommandType.StoredProcedure
cmd.Parameters.Add("@Email", Data.SqlDbType.NVarChar).Value = Email
cmd.Parameters.Add("@Password", Data.SqlDbType.NVarChar).Value = Password
cmd.Connection.Open()
Dim rd As System.Data.SqlClient.SqlDataReader = cmd.ExecuteReader()
If rd.HasRows Then
While rd.Read()
**GENERATE A TOKEN AND LINK TO rd.Item("IdUser")**
**Return TOKEN**
(previously I would use Session("id") = rd.Item("IdUser"))
End While
Return "Ok"
Else
...
End If
cmd.Connection.Close()
Return True
End Sub
【问题讨论】:
-
好吧,我开始明白了,在你的链接中我找到了这个asp.net/web-api/overview/security/basic-authentication如果我明白的话告诉我..每个http请求都会调用这个类,它从身份验证标头中获取用户名和密码,所以我应该发送用户名和密码,而不是令牌,对吗?所以现在我只需要找到一种方法来生成令牌,发送到客户端并保存到数据库吗?
-
我了解身份验证和令牌的工作原理,但我仍然不了解如何实现它我发现的所有资源都过于复杂且不适合我的解决方案。我只需要如何在我的登录 api 中生成一个令牌,以及如何在 VB 中的每个受保护的 api 之前检查它
-
您可以使用凭据生成 base64 编码字符串,并要求用户在每次调用时传递它。
标签: asp.net vb.net token asp.net-web-api2