gpt4 book ai didi

javascript - 使用 asp.net 和 iis 在地理服务器中进行身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:37:19 26 4
gpt4 key购买 nike

我不知道这是不是一个愚蠢的问题,但我怎样才能将 asp.net 身份验证与 openlayers“结合”?

我创建了一个登录页面以在 openlayers 中进行身份验证(在 c# 中,服务器端),这是我的代码

Uri uri = new Uri("http://"+username+":"+password+"@localhost:1979/geoserver/wms");
if (uri.Scheme == Uri.UriSchemeHttp)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = WebRequestMethods.Http.Post;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream()); string tmp = reader.ReadToEnd();
response.Close();
Response.Write(tmp);
}

我不知道这是否是解决我问题的正确方法,无论如何,如果我达到我的目标(在地理服务器中使用用户名和密码进行身份验证),我如何将此身份验证与用户端的 openlayers 结合( javascript)

提前致谢

最佳答案

要从 javascript 端使用 geoserever 进行身份验证,您必须向 geoserver autentication servlet(j_spring_security_check) 发布一个帖子。尝试使用此登录功能:

     function login (options) {
// url del servlet del geoserver
var url = options.server + "/geoserver/j_spring_security_check";
// parametros para el login
params = "username=" + options["user"] + "&password="
+ options["password"];

var contentType = "application/x-www-form-urlencoded";
//se inicializa la petición ajax
var ajax = $.ajax({
data : params,
type : "POST",
contentType : contentType,
url : url
});
// se ejecuta cuando la peticion finaliza
ajax.done(function() {

if ($.cookie("JSESSIONID") != null && options && options.success) {
options.success();
}
});
// si ocurrio un error al realizar la peticion
ajax.fail(function(data) {
if (options && options.failure) {
options.failure(data);
}
});
// se ejecuta siempre al final de la petición, sin importar que esta
// haya fallado
ajax.always(function() {
if (options && options.always) {
options.always();
}
});
};

并以这种方式使用

 login({
user:"admin" //geoserver user
password: "adminPassword",
server : "http://192.168.10.1:8080", //geoserver host
success : function(){
alert("Login OK!");
},
failure : function(){
alert("Login fail!");
}
});

关于javascript - 使用 asp.net 和 iis 在地理服务器中进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10950747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com