如何在整个时间以编程方式在 Geoserver 上设置用户名和密码
Posted
技术标签:
【中文标题】如何在整个时间以编程方式在 Geoserver 上设置用户名和密码【英文标题】:How to programmatically set username and password on Geoserver at intall time 【发布时间】:2013-01-31 05:41:51 【问题描述】:我正在编写一个 bash 脚本来按照此处列出的步骤安装 Geoserver Install Instructions 。我正在尝试使用 CURL 发布自定义数据存储配置文件。但是我遇到了身份验证错误。
* upload completely sent off: 42out of 42 bytes
< HTTP/1.1 401 Unauthorized
< Server: Apache-Coyote/1.1
< Set-Cookie: SPRING_SECURITY_REMEMBER_ME_COOKIE=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/geoserver
* Authentication problem. Ignoring this.
< WWW-Authenticate: Basic realm="GeoServer Realm"
< Content-Type: text/html;charset=utf-8
< Content-Length: 1299
< Date: Thu, 31 Jan 2013 05:16:17 GMT
我相信这是因为我没有设置 Geoserver 的用户名和密码。我似乎能找到的唯一方法是通过网络管理界面来完成。我想通过我的 bash 脚本来设置它。
有没有办法做到这一点?
这里是 Bash 脚本部分
echo 'Downdloading geoserver'
wget http://downloads.sourceforge.net/project/geoserver/GeoServer/2.2.4/geoserver-2.2.4-war.zip
unzip geoserver-2.2.4-war.zip
sudo cp geoserver.war /var/lib/tomcat7/webapps/
sleep 120
echo 'setting up geoserver'
curl -u $U_NAME:$PASSWORD -v -XPOST -H 'Content-type: text/xml' \
-d '<workspace><name>catami</name></workspace>' \
http://localhost:8080/geoserver/rest/workspaces ;
curl -u $U_NAME:$PASSWORD -XPOST -T datastore-config.xml -H 'Content-type: text/xml' \
http://localhost:8080/geoserver/rest/workspaces/catami/datastores ;
curl -u $U_NAME:$PASSWORD -XPOST -H 'Content-type: text/xml' \
-d '<featureType><name>Force_image</name></featureType>' \
http://localhost:8080/geoserver/rest/workspaces/catami/datastores/CatamiImagePoints/featuretypes ;
curl -u $U_NAME:$PASSWORD -XPOST -H 'Content-type: application/vnd.ogc.sld+xml' \
-d @catami-colour-by-depth.sld http://localhost:8080/geoserver/rest/styles ;
curl -u $U_NAME:$PASSWORD -XPUT -H 'Content-type: text/xml' \
-d '<layer><defaultStyle><name>catami-colour-by-depth</name></defaultStyle><enabled>true</enabled></layer>' \
http://localhost:8080/geoserver/rest/layers/catami:Force_image
【问题讨论】:
【参考方案1】:显然,您可以在 GeoServer 数据目录中编辑用户名和密码。你可以阅读更多关于它的信息here。
在你找到要更改的文件后,你只需要sed
你喜欢的那个数据。
【讨论】:
以上是关于如何在整个时间以编程方式在 Geoserver 上设置用户名和密码的主要内容,如果未能解决你的问题,请参考以下文章
Android:当布局已经包含按钮时,如何以编程方式覆盖整个布局?
如何以编程方式更改整个应用程序中的字体大小,Android?
如何以编程方式在 Android 中创建和读取 WEP/EAP WiFi 配置?