XQuery/基本会话管理
外观
< XQuery
您希望将 Web 应用程序的一些行为与用户的登录会话关联起来。
eXist 和其他 Web 服务器提供了一些函数来管理与登录会话关联的信息。
xquery version "1.0";
let $session-attributes := session:get-attribute-names()
return
<results>
{for $session-attribute in $session-attributes
return
<session-attribute>{$session-attribute}</session-attribute>
}
</results>
在您添加任何会话属性之前,这可能只返回一个变量,例如
<results>
<session-attribute>_eXist_xmldb_user</session-attribute>
</results>
xquery version "1.0";
(: set the group and role :)
let $set-dba-group := session:set-attribute('group', 'dba')
let $set-role-editor := session:set-attribute('role', 'editor')
let $session-attributes := session:get-attribute-names()
return
<results>
{for $session-attribute in $session-attributes
return
<session-attribute>{$session-attribute}</session-attribute>
}
</results>
这将返回以下属性
<results>
<session-attribute>group</session-attribute>
<session-attribute>role</session-attribute>
<session-attribute>_eXist_xmldb_user</session-attribute>
</results>
这些属性将与用户关联,直到用户注销或其会话超时,通常在 15 分钟的非活动时间后。
会话属性的一个示例用途是跟踪用户界面首选项。例如,如果用户希望按人员的邮政编码对数据进行排序,您可以将其添加到他们的会话变量中。
let $set-sort := session:set-attribute('sort', 'zip-code')