本文整理汇总了Java中org.apache.shiro.authc.SimpleAuthenticationInfo类的典型用法代码示例。如果您正苦于以下问题:Java SimpleAuthenticationInfo类的具体用法?Java SimpleAuthenticationInfo怎么用?Java SimpleAuthenticationInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SimpleAuthenticationInfo类属于org.apache.shiro.authc包,在下文中一共展示了SimpleAuthenticationInfo类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
/**
* 认证回调函数,登录时调用.
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(
AuthenticationToken authcToken) throws AuthenticationException {
UsernamePassword2Token token = (UsernamePassword2Token) authcToken;
String username = token.getUsername();
if (username == null || null == username) {
throw new AccountException(
"Null usernames are not allowed by this realm.");
}
User entity = new User();
entity.setEmail(username);
entity.setStatus(Constant.STATUS_ENABLED);
entity = (User) service.iUserService.select(entity);
if (null == entity) {
throw new UnknownAccountException("No account found for user ["
+ username + "]");
}
byte[] key = Encode.decodeHex(entity.getRandom());
return new SimpleAuthenticationInfo(new Shiro(entity.getId(),
entity.getEmail(), entity.getName()), entity.getPassword(),
ByteSource.Util.bytes(key), getName());
}
示例2: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
//UsernamePasswordToken对象用来存放提交的登录信息
UsernamePasswordToken token=(UsernamePasswordToken) authenticationToken;
log.info("验证当前Subject时获取到token为:" + ReflectionToStringBuilder.toString(token, ToStringStyle.MULTI_LINE_STYLE));
// return new SimpleAuthenticationInfo("hsjhsj","8e24137dee97c9bbddb9a0cd6e043be4" , getName());
return new SimpleAuthenticationInfo("hsjhsj","" , getName());
//查出是否有此用户
// TbUser user=null;
// if(user!=null){
// 若存在,将此用户存放到登录认证info中,无需自己做密码对比,Shiro会为我们进行密码对比校验
// return new SimpleAuthenticationInfo(user.getUsername(), , getName());
// }
// return null;
}
示例3: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken auth) throws AuthenticationException {
String token = (String) auth.getCredentials();
Cache<String, String> authCache = CacheController.getAuthCache();
if (! authCache.containsKey(token)) {
// get user info from database
int uid = JWTUtil.getUid(token);
UserEntity userEntity = userService.getUserByUid(uid);
authCache.put(token, String.valueOf(userEntity.getPassword()));
}
String secret = authCache.get(token);
if (!JWTUtil.decode(token, secret)) {
throw new AuthenticationException("Token invalid");
}
return new SimpleAuthenticationInfo(token, token, "jwt_realm");
}
示例4: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
/**
* 用户认证-验证用户是否登录、用户名密码是否匹配
*/
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
logger.info(">>> 【用户认证】token = {}", token);
String userName = (String)token.getPrincipal();
AdminUser user = getPrincipalService().getPrincipalObject(userName);
if(user == null) {
throw new UnknownAccountException("Unknown account: " + userName);//没找到帐号
}
if(AdminUserStatusEnum.ADMIN_USER_STATUS_DISABLED.getStatusCode().equals(user.getStatus())) {
throw new LockedAccountException("Account[" + userName + "] has been locked!"); //帐号锁定
}
//交给AuthenticatingRealm使用CredentialsMatcher进行密码匹配
SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(
user.getUserName(), //用户名
user.getPassword(), //密码
ByteSource.Util.bytes(user.getPasswordSalt()),//salt
getName() //realm name
);
return authenticationInfo;
}
示例5: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
/**
* 先执行登录验证
* @param token
* @return
* @throws AuthenticationException
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
//获取用户名密码
String username = token.getPrincipal().toString();
TbUser tbUser = userService.getUserByUsername(username);
if (tbUser != null){
//得到用户账号和密码存放到authenticationInfo中用于Controller层的权限判断 第三个参数随意不能为null
AuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(tbUser.getUsername(),tbUser.getPassword(),
tbUser.getUsername()) ;
return authenticationInfo ;
}else{
return null ;
}
}
示例6: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken)
throws AuthenticationException {
UsernamePasswordToken token = (UsernamePasswordToken) authcToken;
Map<String, Object> params = new HashMap<String, Object>();
params.put("enable", 1);
params.put("account", token.getUsername());
Parameter parameter = new Parameter("sysUserService", "queryList").setMap(params);
logger.info("{} execute sysUserService.queryList start...", parameter.getNo());
List<?> list = provider.execute(parameter).getList();
logger.info("{} execute sysUserService.queryList end.", parameter.getNo());
if (list.size() == 1) {
SysUser user = (SysUser) list.get(0);
StringBuilder sb = new StringBuilder(100);
for (int i = 0; i < token.getPassword().length; i++) {
sb.append(token.getPassword()[i]);
}
if (user.getPassword().equals(sb.toString())) {
WebUtil.saveCurrentUser(user.getId());
saveSession(user.getAccount(), token.getHost());
AuthenticationInfo authcInfo = new SimpleAuthenticationInfo(user.getAccount(), user.getPassword(),
user.getUserName());
return authcInfo;
}
logger.warn("USER [{}] PASSWORD IS WRONG: {}", token.getUsername(), sb.toString());
return null;
} else {
logger.warn("No user: {}", token.getUsername());
return null;
}
}
示例7: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
// token是用户输入的用户名和密码
// 第一步从token中取出用户名
String userCode = (String) token.getPrincipal();
// 如果查询不到返回null
//数据库中用户账号是zhangsansan
// if(!userCode.equals("zhangsansan")){//
// return null;
// }
// 模拟从数据库查询到密码
String password = "111111";
//将activeUser设置simpleAuthenticationInfo
SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo(
userCode, password, this.getName());
return simpleAuthenticationInfo;
}
示例8: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
String username = (String) token.getPrincipal();// 根据刚刚传过来的token获取用户名
Blogger blogger = bloggerService.findByUsername(username);// 只是根据用户名查询出,不涉及密码
if (blogger != null) {
System.out.println("验证信息:" + blogger);
// 把获取到的用户存到session中
SecurityUtils.getSubject().getSession().setAttribute("blogger", blogger);
// 把从数据库中查询出来的博主信息放到AuthenticationInfo中,即把正确的用户名,密码,交给shiro,再和前台输入的校验。
AuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(blogger.getUsername(),
blogger.getPassword(), "MyRealm");
return authenticationInfo;
} else {
return null;
}
}
示例9: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
/**
* 认证回调函数,登录时调用.
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException {
UsernamePasswordToken token = (UsernamePasswordToken) authcToken;
// User user = accountManager.findUserByLoginName(token.getUsername());
//根据loginToken 看能不查到当前token token有效期就1分钟
String tokenPassword=new String(token.getPassword());
User user = accountManager.findUserByLoginNameOrEmail(token.getUsername());
//user.getStandardLock()==1
if (user != null && user.getStatus().intValue()!=0 && !user.getLoginName().endsWith("@chacuo.net")) {
return new SimpleAuthenticationInfo(user.getLoginName(), user.getShaPassword() , getName());
} else {
return null;
}
}
示例10: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
/**
* 登录认证,在权限认证前执行
*
* @param token
* @return AuthenticationInfo
* @throws AuthenticationException
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
String username = token.getPrincipal().toString();
UUser user = userMService.findUserByUserName(username);
if (null == user) {
return null;
} else {
/**
* info中principal选择方案:1.username, 2.User, 3.UserWithRoleAndPermission
* 各有优劣,这里选择使用username
*
* EAO isssue: 新建对象WholeUser,有属性roles,permissions,登录时产生此对象作为principals,则authorization时无需再和sql交互
* 1.优势: 减少sql交互,
* 2.劣势:缓存大,对变更的用户信息反馈不及时
* 适用: 变化不大信息量少,但权限校验频繁的用户类型.
*
* SimpleAuthorizationInfo: param: principal检查源码最后被强转为Collection不知何意??
*/
SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user.getUsername(), user.getPassword(), "UserRealm");
return info;
}
}
示例11: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
/**
* 登录认证,在权限认证前执行
*
* @param token
* @return AuthenticationInfo
* @throws AuthenticationException
*/
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
String userName = token.getPrincipal().toString();
UUser user = userFService.findUserByUsername(userName);
if (null == user) {
return null;
} else {
/**
* info中principal选择方案:1.username, 2.User, 3.UserWithRoleAndPermission
* 各有优劣,这里选择使用username
*
* EAO isssue: 新建对象WholeUser,有属性roles,permissions,登录时产生此对象作为principals,则authorization时无需再和sql交互
* 1.优势: 减少sql交互,
* 2.劣势:缓存大,对变更的用户信息反馈不及时
* 适用: 变化不大信息量少,但权限校验频繁的用户类型.
*
* SimpleAuthorizationInfo: param: principal检查源码最后被强转为Collection不知何意??
*/
SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user.getUsername(), user.getPassword(), "UserRealm");
return info;
}
}
示例12: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
String username = "liu";
//随机数
String salt2 = "0072273a5d87322163795118fdd7c45e";
//加密后的密码
String password = "be320beca57748ab9632c4121ccac0db";
SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(username, password, getName());
authenticationInfo.setCredentialsSalt(ByteSource.Util.bytes(username + salt2));
return authenticationInfo;
}
示例13: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
UsernamePasswordToken upToken = (UsernamePasswordToken) token;
/* if (Strings.isBlank(upToken.getCaptcha()))
throw new AuthenticationException("验证码不能为空");
String _captcha = Strings.sBlank(SecurityUtils.getSubject().getSession(true).getAttribute(Toolkit.captcha_attr));
if (!upToken.getCaptcha().equalsIgnoreCase(_captcha))
throw new AuthenticationException("验证码错误");*/
User user = dao().fetch(User.class, Cnd.where("name", "=", upToken.getUsername()));
if (user == null)
return null;
if (user.isLocked())
throw new LockedAccountException("Account [" + upToken.getUsername() + "] is locked.");
ByteSource salt = ByteSource.Util.bytes(user.getSalt());
SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user, user.getPassword(), getName());
info.setCredentialsSalt(salt);
return info;
}
示例14: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
String phoneNumber = (String)token.getPrincipal();
if(StringUtils.trimToNull(phoneNumber) == null){
throw new IncorrectCredentialsException();//账号或密码错误
}
CdMember query = new CdMember();
query.setPhoneNumber(phoneNumber);
CdMember member = memberService.findMember(query);
if(member == null) {
throw new UnknownAccountException();//没找到帐号
}
SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(
phoneNumber, //用户名
member.getPassword(), //密码
ByteSource.Util.bytes(AppConstants.PC_PASSWORD_SALT),//salt=phoneNumber
getName() //realm name
);
return authenticationInfo;
}
示例15: doGetAuthenticationInfo
import org.apache.shiro.authc.SimpleAuthenticationInfo; //导入依赖的package包/类
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
String username = (String)token.getPrincipal();
SysUsers user = userService.findByUsername(username);
if(user == null) {
throw new UnknownAccountException();//没找到帐号
}
if(Boolean.TRUE.equals(user.getLocked())) {
throw new LockedAccountException(); //帐号锁定
}
//交给AuthenticatingRealm使用CredentialsMatcher进行密码匹配,如果觉得人家的不好可以自定义实现
SimpleAuthenticationInfo authenticationInfo = new SimpleAuthenticationInfo(
username, //用户名
user.getPassword(), //密码
ByteSource.Util.bytes(user.getSalt()),//salt=salt
getName() //realm name
);
return authenticationInfo;
}