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')