shiro认证过程,怎样做才会走realm的认证方法
时间: 2023-07-24 21:08:05 浏览: 51
在Shiro中,当一个用户尝试登录时,Shiro会将用户名和密码传递给一个被称为“Realm”的组件进行身份认证。Realm是一个可以自定义的组件,你可以根据自己的需求来实现自己的Realm,以满足不同的身份认证需求。
要使Shiro走Realm的认证方法,需要在Shiro的配置文件中配置Realm。具体步骤如下:
1. 创建自定义的Realm类,该类需要继承org.apache.shiro.realm.AuthenticatingRealm类,并实现其doGetAuthenticationInfo(AuthenticationToken token)方法,用于验证用户的身份。
2. 在shiro.ini配置文件中配置Realm,如下所示:
```
[main]
# 配置自定义的Realm
myRealm = com.example.MyRealm
# 配置SecurityManager,指定使用myRealm进行身份验证
securityManager.realms = $myRealm
```
这样配置后,当用户进行身份验证时,Shiro会根据配置的Realm进行验证,而不是默认的身份验证方式。
相关问题
shiro basic 认证
Shiro是一个强大的Java安全框架,提供身份验证,授权,密码学和会话管理。Shiro基本认证是Shiro的身份验证机制之一,它通过用户名和密码来验证用户的身份。Shiro基本认证需要在Shiro配置文件中配置一个Realm,Realm是Shiro与安全相关数据的连接器,用于验证用户身份、授权等操作。
在Shiro基本认证中,用户输入用户名和密码后,Shiro会从配置文件中的Realm中获取用户信息,并通过密码匹配来验证用户身份。如果验证成功,则允许用户继续访问资源。如果验证失败,则会拒绝用户访问资源。
下面是Shiro基本认证的一些特点:
1. 支持多种数据源,包括JDBC、LDAP、Active Directory等。
2. 支持加密和解密密码。
3. 支持记住我功能,可以让用户保持登录状态。
4. 支持自定义Realm,可以根据自己的业务需要来验证用户身份。
shiro 认证的流程
Shiro是一个强大且灵活的Java安全框架,它提供了身份验证、授权、加密和会话管理等功能。下面是Shiro认证的基本流程:
1. 创建SecurityManager:首先,你需要创建一个SecurityManager对象,它是Shiro的核心组件之一。SecurityManager负责协调整个认证和授权过程。
2. 创建Subject:Subject代表当前操作的用户。你可以通过Subject工具类获取当前用户的实例。
3. 提交认证:用户提交自己的身份信息,比如用户名和密码。一般情况下,你可以把用户输入的身份信息封装成一个UsernamePasswordToken对象。***
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)