我使用一个ServiceStack自定义CredentialsAuthProvider来对自定义数据库进行身份验证,它在C#客户机中工作得很好。我还需要能够通过jQuery (在启用了CORS的不同域上)调用一些服务,但我不知道如何从$ajax或$post向服务传递凭据(这需要使用身份验证)。有可能吗?我确实看到了使用BasicAuthentication的例子,但是如何使用自定义auth提供程序和我的自定义数据库呢?
编辑:我把这个问题写得很糟糕。我已经在ServiceStack侧通过了身份验证,并且我有一个ss-id。我正试图找出如何调用一个服务方法,该方法需要通过jQuery从不同的域使用ss-id进行身份验证。
发布于 2013-09-10 20:19:36
有点粗糙,删除HTML和表单/验证代码,但从一个工作的应用程序。
填写您的auth 'dto',添加您需要的任何额外的自定义属性,并调整url等。一旦通过认证,您可以调用您的安全服务。
var auth = {
"userName": null,
"firstName": null,
"lastName": null,
"displayName": null,
"email": null,
"password": null,
"autoLogin": false,
"continue": null
};
var request = $.ajax({
type: "POST",
url: '/auth',
data: auth,
contentType: "application/json;",
dataType: "json"
});
request.done(function (data) {
console.log(data);
//redirect to secure service (assuming SS Razor view, or make other request)
window.location.href = auth.continue;
});
request.fail(function (jqXhr, textStatus) {
console.log("Request failed: " + textStatus);
console.log(jqXhr);
});
};
https://stackoverflow.com/questions/18712490
复制相似问题