我刚刚开始在我的Web API中实现身份验证。 我想从基本身份验证开始
我了解到我必须在每个请求中都传递用户名和密码。
因此,可以说我正在执行一些管理任务,并像这样对API进行调用:
$.ajax({
url: host + "homework/delete/" + $(this).data("id"),
type: 'DELETE',
headers:
{
Authorization: 'Basic ' + btoa(username + ':' + password)
},
success: function (d) {
$tr.remove();
},
error: function () {
alert("Error please try again");
}
});
因此,尽管我的用户名/密码是可变的,但它们的值必须位于page(source)。任何访问该页面的人都可以看到这些凭据。
这意味着,只要知道该页面的URL,就可以看到凭据。
如果我放置登录页面,我应该如何在管理页面上检查该用户是否已通过身份验证。我应该使用Cookies吗?如果用户正在通过登录页面进行设置?
答案 0 :(得分:0)
为了增强安全性,我认为应该有另一种方法。首先,您需要使用用户名和密码对服务进行身份验证,并接收具有有限生存期的身份验证令牌,然后应使用此令牌来访问您的服务。
答案 1 :(得分:0)
我认为您必须选择另一种方法:
如果要创建客户端JavaScript应用程序,则无法隐藏凭据。您的方法的另一个问题可能是:安全服务是否支持CORS(跨源资源共享)?