首页 > 其他分享 >第二十五章 CSP Session 管理 - 选择策略时的注意事项

第二十五章 CSP Session 管理 - 选择策略时的注意事项

时间:2022-10-24 09:11:53浏览次数:50  
标签:登录 身份验证 应用程序 ID 会话 Session 第二十五章 CSP

第二十五章 CSP Session 管理 - 选择策略时的注意事项

组的注意事项

本节包含创建身份验证组时要考虑的一些要点。

  1. 仅当决定必须通过会话对象共享数据时才使用会话共享。 By-ID 和登录 Cookie 共享更加强大和可预测。
  2. 创建组时,尽可能保持一致,以便为目标用户创建统一的行为。不要将应用程序同时放在 By-ID 组和 By-Session 组中。使用不同的身份验证策略可能会导致意外行为。 By-ID 优先于 By-Session。因此,如果一个应用程序两者都有,它会保持同步 By-ID
  3. 对组的所有成员使用相同的身份验证类型。特别是,如果组中的某些应用程序允许登录 Cookie 而其他应用程序不允许,则通过用户名/密码进入组会验证整个组,而通过登录 cookie 输入只会验证部分应用程序。这可能会导致用户对为什么有时需要登录而有时不需要登录感到困惑。
  4. CSP 服务器认为每个应用程序都在一个身份验证组中。会话中的一个单独的应用程序形成一个单实体 By-Session 身份验证组。)
  5. 尽量不要将未经身份验证的应用程序放在 By-ID 组中。
  6. By-Session 组很脆弱;使用 By-ID 是一种更稳健的方法。由于有关组的所有信息(包括其共享数据)都包含在单个会话中,因此该组很容易丢失。这是因为会话可能会超时,即在特定时间后会话会自动销毁。如果用户离开他的计算机或使用不在 By-Session 组中的应用程序,则会话可能会超时。如果组中的应用程序之一标记 ENDSESSION=1,则该组被分散。
  7. 如果浏览器打开的选项卡包含来自分散的应用程序的页面,单击它们可能需要多次登录,特别是如果它们最初使用 CSPSHARE=1 进行分组。在任何情况下,来自原始会话的数据都会永久消失。
  8. 当组失去其身份验证时,刷新或从组应用程序转到打开的页面需要用户重新登录。
  9. 结束包含 By-Session 应用程序的会话要求用户在刷新该 by-session 组中的任何应用程序的任何页面时重新登录。终止包含 By-ID 应用程序的会话不需要任何登录,除非该会话的应用程序是该组的唯一成员。
  10. 注销会话会注销会话组的所有成员,即使他们在不同的会话中。刷新任何组的页面都需要重新登录。但是,对于按 ID 组,一个登录会登录整个组。对于 By-Session 组,只要 CSP 网关能够将分散的应用程序引导回新构建的会话对象,一个登录就会登录整个组。
  11. 注销不会破坏会话,因此任何会话数据都会继续存在。
  12. 不能让同一应用程序在同一浏览器的不同选项卡中登录到两个不同的用户。
  13. 身份验证仅在单个浏览器中共享。此运行时标识符存储在 %Session 对象中。
  14. 分组允许与同一组 (By-ID) 或同一会话 (By-Session) 中的用户共享身份验证。如果想从指定组之外的应用程序共享身份验证,请使用登录 Cookie。如果要将身份验证发送到指定组之外的应用程序,请使用 CSPSHARE=1。 (请参阅本书中的“关于 CSPSHARE 的注意事项”部分。)

关于 CSPSHARE 的注意事项

使用 CSPSHARE 作为最后的手段。

在以下情况下,按会话应用程序链接不需要 CSPSHARE=1

  • 如果源应用程序和目标应用程序具有相同的组 ID
  • 如果目标页面与源页面在同一个应用程序中。
  • 如果目标页面应用程序的会话 Cookie 路径与源应用程序的会话 Cookie 路径匹配。

共享数据

By-Session 组可以通过会话对象共享数据。

By-ID 组必须管理自己的数据。例如,如果数据存储在全局中,则可以使用当前用户 $Username 或组的运行时 ID 对数据进行键控。 CSP 服务器为每个浏览器分配一个 browser-id cookie。创建 By-Id 组时,会为其分配一个键,该键是与组 ID 连接的浏览器 ID。这将创建一个唯一键 %CSP.Session.BrowserId,它可以用作存储数据的键。

标签:登录,身份验证,应用程序,ID,会话,Session,第二十五章,CSP
From: https://www.cnblogs.com/yaoxin521123/p/16820369.html

相关文章

  • CSP 日照集训考试 Day2
    考的并不好。主要整理整理错因,并不是为了写题解。T1很简单的题,让我搞成了70pts考场上想的是预处理出第i位之后j出现的次数,然后枚举两个位置,求一下gcd,找一下......
  • P7911 CSP J 2021 T3 纯模拟 无map 代码
    目录申明前置知识sscanf与sprintf应用字符串常用函数代码后记申明解释在注释里注释掉的不用管写错的代码可借鉴原题:洛谷P7911前置知识sscanf与sprintf/*sscanf......
  • session
    session的一些基础用法: getAttribute(String);//类型为Object返回对象绑定姓名的值,没有则返回null getAttribute();//类型为枚举返回所有值; invalidate();//re......
  • csp前最后一次模拟(?)
    非常抽象的题目,第一次体验一次考试题目出现一个致命错误和一个小小错误(四道题错两道)第一题按理来说30min就已经打完了,但是题目上没写要mod一个大指数,但是大样例又mod了那......
  • 怎样将数据传入Session
    怎么将数据存入session默认数据都是存入request,需要自己设置存入session。1.方式1原生session代码@RequestMapping("/selectUser")publicStringselectUser......
  • 怎样将数据存入session
    怎么将数据存入session默认数据都是存入request,需要自己设置存入session。1.方式1原生session代码@RequestMapping("/selectUser")publicStringselectUser(HttpServl......
  • P5683 [CSP-J2019 江西] 道路拆除
    简要题意给你一个\(m\)条边\(n\)个点的无向图。你需要去掉一些边,使得\(1\tos_1,1\tos_2\)连通,且\(1\tos_1\)的最短路径长度小于\(t_1\),\(1\tos_2\)的最......
  • P7914 [CSP-S 2021] 括号序列
    简要题意给定\(k\),定义“超级括号序列”(简称括号序列,下同)字符串为:仅由()*三种字符组成。下面令\(S\)为不超过\(k\)个\(\ast\)字符拼接而成的字符串(\(S\)......
  • 2022/10/22 CSP赛前隔离时的模拟赛 1/3
    T1T2使用一种类似于摩尔投票法的东西(Keven_He说像,我不太觉得):将所有人分为两队,设第一队的总攻击力为\(a\),第二队的总攻击力为\(b\)。不妨设\(a\leb\),求\(\min(b-......
  • CSP-S模拟20
    T1.归隐签到题吧算是。看到数据范围直接来推结论。先把对数去掉,就变成了指数项的加法。容易发现\(a_i=3a_{i-1}+1\),除了两侧的数,其它的贡献都翻了一倍放在中间。然后用等......