Sa-Token 框架掌握度------在线考试

此份考卷将测评您对Sa-Token框架的掌握程度(满分100)
针对版本:v1.27.0 
官网链接:http://sa-token.dev33.cn/
*
您的昵称:
*
您的开发经验?
1年以下
1-3年
3-5年
5年以上
不方便透露
*
1.
Sa-Token的登录函数是?
A、StpUtil.doLogin(id);
B、StpUtil.login(id);
C、StpUtil.isLogin();
D、StpUtil.checkLogin();
*
2.
Sa-Token的注销函数是?
A、StpUtil.logoutByLoginId();
B、StpUtil.logoutByTokenValue();
C、StpUtil.doLogout()
D、StpUtil.logout();
*
3.
在未登录的情况下调用 StpUtil.checkLogin() 将会发生?
A、抛出异常:NotLoginException
B、返回false
C、控制台打印:当前会话未登录
D、抛出异常:SaTokenException
*
4.
如何设置一个账号所拥有的权限码集合?
A、在调用StpUtil.login() 时设置
B、通过 StpUtil.setPermissionList() 设置
C、实现 StpInterface 接口
D、通过配置文件设置
*
5.
当一个会话拥有 `user*` 权限时,下面不能通过校验的鉴权注解是?
A、@SaCheckPermission(value = {"delete-user", "user-all", "user-update"}, mode = SaMode.OR)
B、@SaCheckPermission("add-user")
C、@SaCheckPermission("user")
D、@SaCheckPermission({"user-add", "user-delete"})
*
6.
当未登录情况下访问 "/user/get/1" 接口时,下列哪个选项可以拦截此会话
A、SaRouter.match("/user/**", "/user/get/**", () -> StpUtil.checkLogin());
B、SaRouter.match("/art/**", () -> StpUtil.checkLogin());
C、SaRouter.match("/user/get/{id}", "/user/", () -> StpUtil.checkLogin());
D、SaRouter.match("/user*", "/user/get", () -> StpUtil.checkLogin());
*
7.
SaRouter.match("/user/add", () -> StpUtil.checkPermission("user-add")); 的意思是?
A、只有具有 `user-add` 权限的请求才会被拦截
B、拦截所有 `user-add` 的请求,校验其 `/user/add` 权限
C、拦截所有请求,只有`/user/add` 请求才会获得 `user-add`权限
D、拦截所有访问`/user/add` 的请求,校验其是否拥有 `user-add` 权限
*
8.
User-Session与Token-Session的区别是?
A、User-Session的数据只在单端会话独享
B、Token-Session的数据可以在多端中共享
C、Token-Session的意思就是自定义Session
D、不能确定,两者的具体表现和框架配置有关
*
9.
Sa-Token 在整合Redis时:
A、只能保存String数据,不能保存复杂实体类
B、需要手动保存Token到Redis中
C、只需引入相关pom依赖,上层API保持不变
D、框架核心包默认集成Redis,如果不需要可以关闭
*
10.
Sa-Token在对接APP、小程序等前后台分离架构的项目时,需要:
A、需要手动将Token传递到前端,前端每次访问接口提交此Token
B、只需要在配置文件 `is-separate=true` 即可,其它保持不变
C、需要重写Token生成策略
D、需要集成 `sa-token-separate` 包依赖
*
11.
Sa-Token 如何实现 [记住我] 模式?
A、需要重新Cookie注入策略
B、需要调用 `StpUtil.rememberMe()` 方法
C、需要集成Redis,才有 [记住我] 功能
D、默认就是记住我模式,正常登录即可
*
12.
Sa-Token 要集成 [同端互斥登录] 功能,需要:
A、需要在每次登陆时将先前登录给踢下线
B、需要App端轮询接口,获取会话登录状态
C、配置文件`isConcurrent=false`,并且在登录时指定设备标识
D、手动循环Session列表,找出同名会话,将其注销
*
13.
@SaCheckSafe 的作用是?
A、拦截未登录会话,使其无法进入Controller的方法
B、校验一个会话是否完成了二级认证
C、校验一个会话是否具有`上帝权限`
D、校验一个会话是否为默认登录账号
*
14.
在Sa-Token全局过滤器中抛出的异常,如何捕捉?
A、需要通过 `@ControllerAdvice` + `@ExceptionHandler` 全局异常来捕捉
B、无需捕捉,框架提供了默认的异常显示页
C、通过配置文件指定重定向的接口来捕捉
D、需要通过setError() 函数来捕捉
*
15.
如果需要网关统一鉴权,那么在网关处需要引入的包是?
A、sa-token-spring-boot-starter
B、sa-token-reactor-spring-boot-starter
C、不固定,需要根据网关的架构来确定
D、网关处无需单独引入依赖
*
16.
[多账号验证] 是为了解决什么需求场景?
A、一个账号既需要在PC端登录,也需要在APP端登录
B、一个系统的 Admin账号 与 User账号 分开鉴权
C、一个设备既需要登录A账号,还需要登录B账号
D、一个账号既需要在两个APP同时登录,并且识别为一个账号
*
17.
有关 active-timeout 的描述,正确的是
A、active-timeout 为 Token长久有效期,其值决定了持久化时 TTL 的值
B、active-timeout 设置为-1时,框架将无法正常工作,用户登陆后会理解掉线
C、active-timeout 的值设置必须大于timeout,否则没有意义
D、active-timeout 为 Token临时有效期,代表用户如果指定分钟无操作,则此Token会立即过期
*
18.
有关  NotLoginException 异常,描述正确的是?
A、只有在权限校验未通过时才会抛出这个异常
B、这个不能分辨出是哪个`loginType`抛出的异常
C、这个异常的意思代表会话未登录
D、在未登录时调用StpUtil.isLogin() 会抛出这个异常
*
19.
有关配置项 `isReadCookie` 描述正确的是?
A、只有配置为true时,会话才可以登录成功
B、isReadCookie配置为false时,即使会话不登录,也可以通过StpUtil.checkLogin() 校验
C、这个值代表是否从Cookie中加密Token
D、配置为false时将不会从Cookie中读取Token值
*
20.
有关自定义Session,描述正确的是?
A、自定义Session用完即废,只能一次性使用
B、如果两个自定义Session的key一致,那么对应的Session也一致
C、需要从配置文件`is-session=true`,才可以使用自定义Session
D、自定义Session无法手动注销,只能等待ttl过期
问卷星提供技术支持
举报