-
-
Save qijianchuan/9f6238c7e15c3062200b63721e5549b8 to your computer and use it in GitHub Desktop.
错误解决办法
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
maven创建的项目 | |
找不到相关的shiro配置文件;需要在main文件夹下创建resources文件夹;将配置文件资源等放到该文件夹下 | |
**Assert.assertEquals作用** | |
assertEquals | |
函数原型1: | |
```language | |
assertEquals([String message],expected,actual) | |
``` | |
参数说明: | |
message是个可选的消息,假如提供,将会在发生错误时报告这个消息。 | |
expected是期望值,通常都是用户指定的内容。 | |
actual是被测试的代码返回的实际值。 | |
**Realm** | |
Realm:域,Shiro 从从 Realm 获取安全数据(如用户、角色、权限),就是说 SecurityManager 要验证用户身份,那么它需要从 Realm 获取相应的用户进行比较以确定用户身份是否合法;也需要从 Realm 得到用户相应的角色 / 权限进行验证用户是否能进行操作;可以把 Realm 看成 DataSource,即安全数据源。如我们之前的 ini 配置方式将使用 org.apache.shiro.realm.text.IniRealm。 | |
org.apache.shiro.realm.Realm 接口如下: | |
```language | |
String getName(); //返回一个唯一的Realm名字 | |
boolean supports(AuthenticationToken token); //判断此Realm是否支持此Token | |
AuthenticationInfo getAuthenticationInfo(AuthenticationToken token) | |
throws AuthenticationException; //根据Token获取认证信息 | |
``` | |
**单 Realm 配置** | |
``` | |
public class MyRealm1 implements Realm { | |
@Override | |
public String getName() { | |
return "myrealm1"; | |
} | |
@Override | |
public boolean supports(AuthenticationToken token) { | |
//仅支持UsernamePasswordToken类型的Token | |
return token instanceof UsernamePasswordToken; | |
} | |
@Override | |
public AuthenticationInfo getAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { | |
String username = (String)token.getPrincipal(); //得到用户名 | |
String password = new String((char[])token.getCredentials()); //得到密码 | |
if(!"zhang".equals(username)) { | |
throw new UnknownAccountException(); //如果用户名错误 | |
} | |
if(!"123".equals(password)) { | |
throw new IncorrectCredentialsException(); //如果密码错误 | |
} | |
//如果身份认证验证成功,返回一个AuthenticationInfo实现; | |
return new SimpleAuthenticationInfo(username, password, getName()); | |
} | |
} | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment