shiro面试题「建议收藏」

shiro面试题「建议收藏」1、什么是ShiroApacheShiro是Java 的一个安全(权限)框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以完成:认证、授权、加密、会话管理、与Web集成、缓存等。2、描述Shiro认证流程1、收集用户身份/凭证2、调用Subject.login进行登录3、创建自定义的R…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1、什么是Shiro

Apache Shiro 是 Java 的一个安全(权限)框架。

Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在 JavaEE环境。

Shiro 可以完成:认证、授权、加密、会话管理、与Web 集成、缓存 等。

2、描述Shiro认证流程

1、收集用户身份/凭证

2、调用 Subject.login 进行登录

3、创建自定义的 Realm类,继承 org.apache.shiro.realm.AuthorizingRealm 类,实现 doGetAuthenticationInfo() 方法

4、提供 principals (身份)和 credentials(证 明)给 shiro,从而应用能验证用户身份

3、描述Shiro授权流程

1、在spring_shiro.xml中配置资源和页面相应信息

2、创建自定义的 Realm类,继承 org.apache.shiro.realm.AuthorizingRealm 类,实现 doGetAuthorizationInfo() 方法

3、编码实现:

(1) 获取登录用户基本信息principal

(2) 查询对应的角色进行循环存入Set集合中

(3) 创建AuthorizationInfo,对应设置Roles并返回即可

4、Shiro常用的哪些过滤器?分别是什么作用?

1.身份验证相关的

authc:认证后访问

anon:匿名访问

logout:退出登录

2.授权相关的

roles[]:角色授权

5、什么是加密?

加密技术是对信息进行编码和解码的技术,编码是把原来可读信息(又称明文)译成代码形式(又称密文),其逆过程就是解码(解密)。加密技术的要点是加密算法,加密算法可以分为对称加密、非对称加密和不可逆加密三类算法。

6、描述什么是对称式加密?哪些常用加密算法?

对称加密:

数据加密和解密采用的都是同一个密钥,因而其安全性依赖于所持有密钥的安全性。

对称加密算法的主要优点是加密和解密速度快,加密强度高,且算法公开.

常用算法名称:DES (Data Encryption Standard)、 AES(Advanced Encryption Standard)

7、描述什么是非对称加密?哪些常用加密算法?

非对称加密:

使用两把完全不同但又是完全匹配的一对钥匙(即一把公开密钥或加密密钥和专用密钥或解密密钥)—公钥和私钥。在使用不对称加密算法加密文件时,只有使用匹配的一对公钥和私钥,才能完成对明文的加密和解密过程。加密明文时采用公钥加密,解密密文时使用私钥才能完成

常用算法名称:SHS, RSA

8、描述什么是不可逆加密?哪些常用加密算法?

不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。

常用算法名称:MD5(32bit) SHA256(64bit) SHA512(生成128bit)

9、什么是加盐加密?

加盐加密是一种对系统登录口令的加密方式,它实现的方式是将每一个口令同一个叫做”盐“(salt)的n位随机数相关联

10、shiro框架的核心功能?

Authentication,Authorization,Cryptography,Session Management

11、shiro框架的核心组件?

Subject, SecurityManager 和 Realms

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181873.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月15日 上午6:36
下一篇 2022年10月15日 上午6:46


相关推荐

  • pytorch固定BN层参数[通俗易懂]

    pytorch固定BN层参数[通俗易懂]背景:基于PyTorch的模型,想固定主分支参数,只训练子分支,结果发现在不同epoch相同的测试数据经过主分支输出的结果不同。原因:未固定主分支BN层中的running_mean和running_var。解决方法:将需要固定的BN层状态设置为eval。问题示例:环境:torch:1.7.0#-*-coding:utf-8-*-importtorchimporttorch.nnasnnimporttorch.nn.functionalasFclassNet(nn.M

    2022年8月31日
    4
  • 先说结论(2026

    先说结论(2026

    2026年3月13日
    2
  • Can not issue data manipulation statements with executeQuery()错误解决

    Can not issue data manipulation statements with executeQuery()错误解决强烈建议 尽信书 不如无书 nbsp nbsp 下午没事 就练习了下连接数据库 结果发现了一个问题 哈哈 Cannotissued nbsp 原因是这句 st executeQuery insert nbsp into nbsp student nbsp values name age intr

    2026年3月19日
    2
  • Linux下的动态库和静态库详解

    Linux下的动态库和静态库详解动态库和静态库文章目录动态库和静态库静态库与动态库的概念理解动静态库如何打包动静态库与如何使用动静态库如何制作打包动态库为什么我们要使用别人 一般是顶尖的工程师写的 的代码 为了开发效率和鲁棒性 健壮性 如何使用别人的功能 1 库 2 开源代码 3 基本的网络功能调用 各自网络接口 语音识别 库一般分为动态库和静态库 动态库一般的命名为 libc so 静态库一般的命名为 libc a 去掉前缀 lib 去掉 之后的内容 剩下的就是库的名字 这里就是 c 库 生成可执行程序的方式有两种 动态链接和

    2026年3月16日
    2
  • Google浏览器清除缓存怎么弄_谷歌浏览器f12清理缓存

    Google浏览器清除缓存怎么弄_谷歌浏览器f12清理缓存google浏览器设置不缓存的方法摘要:我们在做web开发的时候特别是在调试js时,会经常使用的google浏览器,这个时候就要我们修改过的代码可能不能生效。这是因为我们的浏览器默认是有缓存的,但是

    2022年8月6日
    27
  • XSS注入常用语句

    XSS注入常用语句lt script gt alert hello gaga lt script gt 经典语句 哈哈 gt gt lt imgsrc javascript alert XSS gt gt gt lt script gt alert XSS lt script gt lt table

    2026年3月18日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号