6.4 Users, Groups, Roles

本文详细介绍了GeoServer中用户、组和角色的配置管理,包括XML、JDBC和LDAP三种服务类型,涉及服务配置、用户及组的添加、编辑与删除,以及角色服务和权限分配等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6.4 Users, Groups, Roles

此页面管理用户/用户组以及角色服务的配置选项,由三个选项卡组成(Services、Users/Groups和Roles),共同完成了对用户,用户组和角色添加,编辑或删除工作。

6.4.1User Group Services

Services是对服务的基本参数的配置,如服务配置信息的存储形式、密码加密方式等。

在此页面中,可以添加,删除或编辑用户/组服务配置。默认情况下,GeoServer中有一个基于XML的用户/组服务,它使用弱PBE加密并使用默认密码策略。
在这里插入图片描述

点击“Add new”或者在Services列表中点击想要修改的Service,跳转到服务配置页面。在“Add new”页面中可以选择配置信息的存储形式,其中XML是默认选择的:
在这里插入图片描述

  1. XML

以XML形式存储服务配置信息,是GeoServer默认采用的方式。XML存储有以下配置项:
在这里插入图片描述

  • 命名:即Service的名称,不能重复;

  • Password
    encryption:密码加密方式。这里说的密码有两种,即用户账户密码和外部数据源密码,由于这些密码需要存储在磁盘上,因此强烈建议将它们加密,而不是存储为人类可读的文本。GeoServer提供了Empty、Plain
    text、Weak PBE、Strong
    PBE和Digest五种加密方式。外部数据源密码用于访问外部资源,要求加密方式必须是可逆的(因此在6.1.2节中只能使用三种方式),而用户账户密码可以使用任何方式。

    • Empty:任何密码都编码为空字符串,因此是不可逆的。该方案需与后端系统的认证机制相结合,例如基于LDAP或JDBC数据库的用户名/密码身份验证(参考6.2.5)。在这些情况下,将密码存储到本地对于GeoServer没有任何意义;
    • Plain text:纯文本密码,表示不对密码进行加密。在这种情况下,任何有权访问文件系统的人都可以读取密码,因此,不推荐使用;
    • Weak PBE:PBE使用用户提供的密码生成加密密钥,此方法是可逆的。Weak PBE使用很基础的加密方法(即DES,其有效密钥长度只有56位),所以相对容易破解。此方法是GeoServer默认使用的;
    • Strong PBE:Strong PBE使用基于AES 256位算法和CBC的加密方法,密钥长度有256位,在要求使用可逆加密方法时,建议使用Strong PBE。但原生Java可能不支持某些加密方法,导致Strong PBE不可用,需要安装额外的jar包(参见6.1.2);
    • Digest:摘要加密是不可逆的。它通过迭代100000次SHA-256 加密哈希算法加密密码,而且是单向的,因为几乎不可能被破解,在允许使用不可逆加密方法时,建议使用Digest;
  • Recode existing passwords:是否重新编码已有密码;

  • Password policy:设置密码策略(参考6.3.2)。添加用户/组服务时指定密码策略,在创建新用户时和更改现有用户的密码时起作用;

  • XML
    filename:XML文件名,该文件将存储在<data_dir>\security\usergroup\<servicename>\<filename>.xml;

  • Enable schema
    validation:如果勾选,则每次读取XML文件时都会强制验证,当手动编辑XML文件时,需要启用此选项;

  • File reload interval in milliseconds (0 disables):
    GeoServer检查XML文件更改的频率(以毫秒为单位)。如果发现文件已被修改,GeoServer将根据文件的当前状态重新创建用户/组数据。此值应在XML文件内容在外部修改而不是通过Web管理界面更改的情况下设置。值为0时不对文件做任何检查。

  1. JDBC

以数据库形式存储服务配置信息,JDBC存储的配置参数中命名和密码部分与XML相同,另外还有其他参数:
在这里插入图片描述

  • JNDI:是否使用JNDI,默认不使用;

  • Driver class name:用于连接数据库的JDBC驱动程序,默认支持org.hsqldb.jdbc.JDBCDriver、org.postgresql.Driver、org.h2.Driver和org.sqlite.JDBC四种;

  • Connection URL:用于创建数据库连接的URL,例如jdbc:postgresql://localhost:5432/postgres;

  • User name/Password:用于测试连接的用户名密码。

  • JNDI resource name:JNDI数据源,当使用JNDI时才会有该参数;

  • Create database tables:在数据库初始化时,是否创建所需的表和索引,这些表和索引在Data
    Definition Language文件中定义;
    在这里插入图片描述

  • Data Definition Language (DDL) file:定义在数据库初始化时,创建表和索引的自定义DDL文件。如果留空,则使用内部默认值usersddl.xml;

  • Data Manipulation Language (DML) file:指定用于访问数据库表的自定义DML文件。如果留空,则使用内部默认值usersdml.xml。

JDBC用户/组服务通过JDBC保存到用户/组数据库,使用多个表管理用户/组信息:

  • Users:用户表;
字段类型可空主键
namevarchar(128)NOYES
passwordvarchar(254)YES
enabledchar(1)NO
  • user_props:用户属性表;
字段类型可空主键
usernamevarchar(128)NOYES
propnamevarchar(64)NOYES
propvaluevarchar(2048)YES
  • groups:用户组表
字段类型可空主键
namevarchar(128)NOYES
enabledchar(1)NO
  • groups:用户组表
字段类型可空主键
groupnamevarchar(128)NOYES
usernamevarchar(128)NOYES
  1. LDAP

以LDAP形式存储服务配置信息,LDAP存储的配置参数中命名和密码部分与XML相同,另外还有与LDAP相关的其他参数,可参考6.2.5节,这里就不一一介绍了。这种服务是只读的,只提供对用户信息的访问,但不允许添加或更改用户和组。

6.4.2 Role Services

在此页面中,可以添加,删除或编辑角色服务配置。默认情况下,GeoServer中有一个基于XML的角色服务。
在这里插入图片描述

点击“Add new”或者在Services列表中点击想要修改的Service,跳转到服务配置页面。在“Add new”页面中可以选择配置信息存储形式,其中XML是默认选择的:
在这里插入图片描述

与User Group Services不同,这里多了一个J2EE,就是从WEB-INF/web.xml的<security-role>、<security-constraint>和<security-role-ref>元素中提取角色,与LDAP相同,也是只读的。

JDBC角色服务通过JDBC保存到数据库,使用多个表管理角色信息:

  • roles:角色表;
字段类型可空主键
namevarchar(64)NOYES
parentvarchar(64)YES
  • role_props:角色属性表;
字段类型可空主键
rolenamevarchar(64)NOYES
propnamevarchar(64)NOYES
propvaluevarchar(2048)YES
  • user_roles:用户角色表
字段类型可空主键
usernamevarchar(128)NOYES
rolenamevarchar(64)NOYES
  • group_roles:用户组角色表
字段类型可空主键
groupnamevarchar(128)NOYES
rolenamevarchar(64)NOYES

Add new user

在Users/Groups选项卡中,可以给任意User Group Service添加、配置或删除用户和组。
在这里插入图片描述

点击某一User Group Services下的Add new user,弹出新用户配置页面,用户配置有如下内容:
在这里插入图片描述

  • User name:用户名;

  • Enabled:是否可用;

  • Password/Confirm password:用户密码;
    在这里插入图片描述

  • User properties:添加/删除用户自定义属性;
    在这里插入图片描述

  • Groups:选择用户关联的组。点击Add a new group跳转到Groups选项卡;
    在这里插入图片描述

  • Roles taken from active role
    service:选择用户关联的角色,可以从不同的角色列表中选择;
    在这里插入图片描述

  • Derived Roles:用户拥有的角色列表,包括关联的组的角色和直接关联的角色。

6.4.4 Add new group

Group的配置项比较简单,且都包含在User中。
在这里插入图片描述

Add new role

GeoServer角色用来定义与执行某些任务或访问特定资源相关的权限。角色分配给用户和组,授权他们执行与角色关联的操作。

在Roles选项卡中,可以给任意Role Service添加、配置或删除角色。
在这里插入图片描述

点击某一Role Services下的Add new role,弹出新角色配置页面,角色配置有如下内容:
在这里插入图片描述

  • Name:角色名称;

  • Parent role:此角色继承的角色,子角色可以继承父角色的所有权限;

  • Role properties:角色自定义属性。

以下角色名称是系统角色,不允许以这些名称命名新的GeoServer角色。

    • ROLE_ADMINISTRATOR:提供对所有操作和资源的访问;
    • ROLE_GROUP_ADMIN:管理用户组的特殊角色;
    • ROLE_AUTHENTICATED:分配给每个成功验证的用户;
    • ROLE_ANONYMOUS:分配给未登录的用户,前提是启用了匿名身份验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值