项目相关


@toc

1、Elasticsearch 与 solr 的区别

背景:他们都是基于 Lucene 搜索服务器基础上开发,一款优秀的,高性能的企业级搜索服务器,【是因为他们都是基于分词技术构建的倒排索引的方式进行查询】

开发语言:Java

诞生时间:

Solr:2004年诞生

ES:2010年诞生

ES 更新【功能越强大】

新技术的出现,会弥补老技术的缺点,吸取老技术的优点

区别:

1、当实时建立索引的时候,solr 会产生 io 阻塞,而 es 不会,es 查询性能要高于 solr

2、在不断动态添加数据的时候,solr 的检索效率会变得低下,而 es 没有什么变化

3、Solr 利用 zookeeper 进行分布式管理,而 es 自带有分布式系统的管理功能,Solr 一般都要部署到 web 服务器上,比如 tomcat,启动 tomcat 的时候需要配置 tomcat 和 solr 的 关联 【 Solr 的本质,是一个动态的 web项目】

4、Solr支持更多格式的数据 【xml、json、csv 】等,而 es 仅仅支持 json 文件格式

5、Solr 是传统搜索应用的有利解决方案,但是 es 更加适用于新兴的是是搜索应用

​ 单纯的对已有的数据进行检索, solr 效率更好,高于 es

6、 Solr 官网提供的功能更多哦,而 es 本身更加注重于核心功能,高级功能都有第三方插件完成

2、用户与权限管理

1、什么是RBAC模型?

正常回答即可

2、Shiro的anon和 autho都代表什么意思?

anon: 无需认证(登录)可以访问
authc: 必须认证才可以访问

3、你认为编写Web方法,用权限限定好,还是用角色限定好

我认为角色好一点,因为假如一个方法需要非常多个权限综合起来才能访问,如果一条条的写权限太麻烦了。

4、@ RequiresAuthentication注解是什么意思?

只要登录就行了。无论什么权限都可访问web方法。

5、在你的系统里, Shiro认证信息是怎么存放的?

存储在客户端的。可以放在cookie中也可以放在localStorage中。

6、如果网站支持微信登陆,你能说一下微信登陆的oauh2流程么?

首先点击登录按钮,小程序就会获取到临时授权字符串,然后把临时授权字符串提交给后端java项目。后端Java系统拿着临时授权字符串换取到openid,我们查询用户表中是否存在这个openid。如果存在,意味着该用户是已注册用户,可以登录。同时查询到用户所对应的权限列表,然后返回给前端。这这样前端也拥有了用户的权限列表,就可以来判断是否展示某个页面,能否执行某个方法。

7、为什么不采用 Http Session存储令牌?

因为 Http Session的数据是不能在服务器之间共享的,所以无法使用在分布式系统上。

8、你们用什么技术生成的令牌?

使用的是JWT技术,在项目中引入jwt也不复杂,使用起来也简便。

9、你们在客户端存放令牌,如果每次提交请求的时候,被抓包了,别人获取到 Token,就能伪造客户端,发起请求,这个该怎么解决?

我们只需要使用https协议就可以解决了,这样即使被抓包了,别人也无法破解其中的内容


文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录