shiro 框架执行流程
时间: 2023-11-02 17:02:26 浏览: 36
Shiro框架执行流程如下:
1. 应用程序通过Shiro API进行身份验证或授权请求。
2. Shiro通过SecurityManager处理请求,并在SecurityManager中查找相应的Realm进行身份验证或授权。
3. Realm从数据源(例如数据库)中获取用户的身份信息并将其与用户提供的凭据进行比较。
4. 如果身份验证成功,则Realm将用户的身份信息传递回SecurityManager。
5. SecurityManager使用身份信息创建一个Subject对象,该对象表示当前用户的安全上下文。
6. 应用程序使用Subject对象执行某些操作(例如访问受保护的资源或执行受保护的操作)。
7. 如果操作需要授权,则SecurityManager将请求传递给Realm进行授权。
8. Realm从数据源中获取用户的授权信息,并将其与请求进行比较。
9. 如果授权成功,则Realm将授权信息传递回SecurityManager。
10. SecurityManager确定用户是否被授权执行请求的操作。
11. 应用程序根据SecurityManager的响应执行相应的操作。
整个流程中,应用程序与Shiro API进行交互,SecurityManager负责处理请求,Realm负责处理身份验证和授权,并从数据源中获取必要的信息。Subject对象表示当前用户的安全上下文,用于执行操作和授权,SecurityManager和Realm之间的协作确保应用程序和用户的安全。
相关问题
shiro 框架登录执行流程
Shiro框架的登录执行流程如下:
1. 用户在前端页面输入用户名和密码,点击登录按钮。
2. 前端将用户名和密码发送到后端。
3. 后端通过Shiro的Subject对象进行认证,Subject对象是Shiro的核心对象之一,它代表了当前用户的安全操作。
4. Subject对象将用户名和密码封装成一个AuthenticationToken对象,AuthenticationToken是Shiro的一个接口,用于封装用户身份和凭证的信息。
5. Shiro的SecurityManager对象接收到AuthenticationToken对象,开始进行身份认证。
6. SecurityManager对象将AuthenticationToken对象传递给Realm对象,Realm对象是Shiro的安全数据源,负责查询用户的身份和凭证信息。
7. Realm对象查询数据库或其他数据源,获取用户的身份和凭证信息,并将其封装成一个SimpleAuthenticationInfo对象。
8. SecurityManager对象接收到SimpleAuthenticationInfo对象,将用户的身份和凭证信息保存到Subject对象中。
9. 如果身份认证成功,Subject对象就可以执行相应的操作,否则抛出相应的异常。
10. Shiro框架会将用户的身份和凭证信息保存到Session中,以便在后续的操作中进行验证。
总的来说,Shiro框架的登录执行流程主要包括用户输入用户名密码、后端进行认证、Realm对象查询用户信息、SecurityManager对象保存用户信息等几个步骤。
shiro的执行流程
Shiro的执行流程可以简要概括为以下几个步骤:
1. 首先,ShiroFilterFactoryBean负责过滤所有的请求,将请求拦截并交给Shiro进行认证和授权处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [shiro架构图及执行流程详解](https://blog.csdn.net/weixin_43849277/article/details/119987634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]