Servlet路由配置¶
总览¶
进行设置以将URL映射到目标servlet路径。
模块 Tenant管理功能 格式化文件(xsd) WEB-INF /模式/路由servlet-config.xsd 设定位置 WEB-INF / conf / routing-servlet-config / {任意文件名} .xml <?xml版本=“ 1.0”编码=“ UTF-8”?> <routing-servlet-config xmlns =“宀:. //万维网intra-mart .JP /路由器/路由- Servlet的配置” xmlns:xsi =“ http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation =“宀:. //万维网intra-mart .JP /路由器/路由- Servlet的配置../Schema/routing-servlet-config.Xsd”> <authz-默认 uri =“服务://应用程序/默认” 行动=“执行” /> <servlet映射 路径=“ /用户/应用程序/主要” servlet =“应用程序/主要” /> <servlet映射 路径=“ /用户/应用程序/列表” servlet =“申请/清单” /> <authz 映射器=“样本映射器”> <参数 键=“ foo” 值=“ FOO” /> <参数 键=“酒吧” 值=“ BAR” /> </ authz> </ servlet-mapping> <servlet映射 路径=“ /用户/应用程序/过程/创建” servlet =“应用程序/创建”> <authz uri =“服务://应用程序/更新” 行动=“执行” /> </ servlet-mapping> <servlet映射 路径=“ /用户/应用程序/过程/更新” servlet =“应用程序/更新”> <authz uri =“服务://应用程序/更新” 行动=“执行” /> </ servlet-mapping> <servlet映射 路径=“ /用户/应用程序/进程/删除” servlet =“申请/删除”> <authz uri =“服务://应用程序/更新” 行动=“执行” /> </ servlet-mapping> </ routing-servlet-config>
参考资料¶
默认许可设置¶
标签名称 验证默认 在同一配置文件上设置默认许可设置。
[设定项目 ]
<routing-servlet-config> <authz-默认 uri =“服务://应用程序/默认” 行动=“执行” /> </ routing-servlet-config>
必填项目 × 多种设定 × 设置值 /设定内容 无 单位/类型 无 省略时的默认值 无 父标签 路由servlet配置 [属性]
属性名称 说明 必填项 默认值 乌里 指定许可资源URI。 × 无 行动 指定许可Action。 × 无 映射器 指定许可资源映射器。可用值是许可资源映射器设置中已设置的用于路由。× 无 注意
此设置需要以下设置之一:uri属性和action属性映射器属性注意
当省略authz-default标记时,必须在servlet-mapping标记中指定authz标记。
Servlet 映射设置¶
标签名称 servlet映射 映射 URL和servlet路径。
[设定项目 ]
<routing-servlet-config> <authz-default uri = “服务://应用程序/默认” action = “执行” /> <servlet映射 路径= “ /用户/应用程序/主要” servlet = “应用程序/主要” /> <servlet-mapping path = “ /用户/应用程序/列表” servlet = “应用程序/列表” /> ... </ servlet-mapping> </ routing-servlet-config>
必填项目 × 多种设定 ○ 设置值 /设定内容 无 单位/类型 无 省略时的默认值 无 父标签 路由servlet配置 [属性]
属性名称 说明 必填项 默认值 路径 指定用于映射的URL。您可以在值的末尾指定通配符“ *” 。通过在值中描述{<identifier>} ,可以使用HttpServletRequest#getAttribute()获得URL中间的值。示例: /样本/视图/ {dataId}○ 无 小服务程序 指定用于映射的servlet路径。 ○ 无 客户类型 指定启用了映射的客户端类型。如果省略,则将其视为所有客户端类型的有效映射。× 无 注意
- 关于许可访问控制
通过许可控制对servlet的访问时,请适当地设置<servlet-mapping>标记,以防止通过直接访问执行servlet。具体来说,有必要添加一个映射设置,该映射设置指定以下三个路径中的相同路径。
- 在web.xml中定义的servlet的URL(在servlet映射中定义的URL模式)
- <routing-servlet-config>标记中的<servlet-mapping>标记的path属性
- <routing-servlet-config>标记中的<roulet-mapping>标记的servlet属性
如果没有此映射设置,则可以不经许可直接访问servlet,这可能是漏洞的来源。例如,如果servlet在web.xml中的定义如下:<servlet-mapping> <servlet-name> SampleServlet </ servlet-name> <url-pattern> / sample_servlet </ url-pattern> </ servlet-mapping>在这种情况下,将以下<servlet-mapping>标记添加到routing-servlet-config。<servlet映射 路径=“ / sample_servlet” servlet =“ sample_servlet”> <authz uri =“服务://样本/ servlet” 行动=“执行” /> </ servlet-mapping>- 关于通配符规范
不能为servlet属性指定通配符,例如* (星号)。
许可设置¶
标签名称 认证 许可设置
[设定项目 ]
<routing-servlet-config> <servlet映射 路径= “ /用户/应用程序/列表” servlet = “应用程序/列表” /> <authz mapper = “ sample-mapper” > ... </ authz> </ servlet -mapping> <servlet-mapping path = “ /用户/应用程序/进程/创建” servlet = “应用程序/创建” > <authz uri = “服务://应用程序/更新” action = “ execute” /> </ servlet -mapping> </ routing-servlet-config>
必填项目 × 多种设定 × 设置值 /设定内容 无 单位/类型 无 省略时的默认值 无 父标签 servlet映射 [属性]
属性名称 说明 必填项 默认值 乌里 指定许可资源URI。 × 无 行动 指定许可Action。 × 无 映射器 指定许可资源映射器。可用值是许可资源映射器设置中已设置的用于路由。× 无 注解
如果指定了authz-default标记,并且在servlet-mapping标记中指定了authz标记,则authz标记的许可设置具有优先权。
注意
此设置需要以下设置之一:uri属性和action属性映射器属性
许可参数¶
标签名称 参数 设置许可资源映射器的参数。如果未在父标记中指定mapper属性,则将忽略该属性。[设定项目 ]
<routing-servlet-config> <servlet映射 路径=“ /用户/应用程序/列表” servlet =“申请/清单” /> <authz 映射器=“样本映射器”> <参数 键=“ foo” 值=“ FOO” /> <参数 键=“酒吧” 值=“ BAR” /> </ authz> </ servlet-mapping> </ routing-servlet-config>
必填项目 × 多种设定 ○ 设置值 /设定内容 无 单位/类型 无 省略时的默认值 无 父标签 认证验证默认[属性]
属性名称 说明 必填项 默认值 关键 指定参数键。 ○ 无 价值 为参数指定一个值。 ○ 无