首页 > 编程知识 正文

kla客户支持工程师面试,shiro原理及其运行流程介绍

时间:2023-05-03 08:38:43 阅读:16820 作者:4222

Shiro总结Shiro可做哪些事:

认证、许可、加密、会话管理、与web集成、缓存等

最简单的Shiro应用是怎样运行的:

在Subject中验证和授权APP应用程序代码,并将Subject委托给安全管理器

我们需要在Shiro的SecurityManager中注入Realm,以便SecurityManager获得合法用户及其权限并进行判断。

Apache Shiro的三大核心组件:

Subject :当前用户交互(所有Subject实例绑定到一个安全管理器)安全管理器(所有Subject )管理Shiro体系结构的心脏和内部每个以及通过它提供安全管理各种服务的(Realms )权限信息的认证(本质上是特定的DAO,需要指定至少一个Realm进行认证和认可)Authentication和Authorization:

Shiro的用户权限认证过程通过以下两种方法实现:

验证操作(或验证用户身份的过程验证)用于验证和批准用户所执行的操作,并证明该用户是否被授权访问当前操作,例如链接或资源文件其他组件:

除了这些组件之外,Shiro还有几个组件。

SessionManager:Shiro为任何APP应用程序提供了会话编程范式。 cachemanager—为Shiro的其他组件提供缓存支持。Shiro的优点:

pojoenterprisesessionalmanager支持简单身份验证、非常简单的加密API角色的简单许可,以及细化的许可(方法级别),以提高APP应用程序的性能

与Spring Security相比,Shiro保持了强大的功能,同时保持了简单性和灵活性。 即使是一个个简单的请求,要通过至少8个过滤器Spring安全,也必须在Spring环境中首次使用Spring安全。 曲线还是初学者

Shiro验证过程由Realm执行,安全管理器调用Realm包下的getauthenticationinfo (authentication tokentoken )方法。

在实际开发中,通常提供org.Apache.Shiro.realm.authenticatingrealm的实现类,并在该实现类中提供dogetauthenticationinfo (认证)

比较Spring Security和Apache Shiro:

在实际开发中,通常提供org.Apache.Shiro.realm.authenticatingrealm的实现类,并提供dogetauthorizationinfo (principalcolllectionprincingreale

设置ShiroConfig以创建方法,并将其传递给注释@Bean进行管理。 返回类型为ShiroFilterFactoryBean类型参数为安全管理器安全管理器。 方法中为new ShiroFilterFactoryBean。日志记录用户使用setSecurityManager ()发送和设置securityManager的setLoginUrl访问某个接口使用setUnauthorizedUrl在用户登录且没有权限时跳转页面的新链接散列) ); 设置相关路径所需的权限,然后将其传递给setFilterChainDefinitionMap ()。 创建方法,并将其传递给注释@ bean spring进行管理。 安全管理器类型的安全管理器)、新建defaultwebsecuritymanager ); securityManager可以管理各种组件,从而可以绑定各种定制组件,并将绑定realm的建议设置到最后。 否则,可能无法生效。Shiro如何自实现认证:

认证:认证/登录以验证用户是否具有正确的id。 授权(授权,即验证权限,验证已验证的用户是否具有权限的会话管理器)会话管理,用户登录后即成为一个会话,在未退出之前,所有信息都是会话可以是常规的JavaSE环境,也可以是Web环境。 crypotgraphy:web support:web支持,可保护数据安全行(如加密、密码加密),并将其存储在数据库而不是明文存储中。 可以轻松集成到Web环境中。 Remember me :记住。 这是非常常见的功能,登录一次后,再来就不用登录了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。