认证
String userCode = (String)token.getPrincipal();
UserExample userExample = new UserExample();
user user = null;
List<Role> roleList = null;
List<Permission> permissions = null;
try {
user = loginserviceimpl.getUser(userCode);
} catch (Exception e) {
e.printStackTrace();
}
if(user==null) {
return null;
}
String password = user.getUpass();
int userid = user.getId();
try {
roleList = loginserviceimpl.getRole(userid);
} catch (Exception e) {
e.printStackTrace();
}
for(int i=0;i<roleList.size();i++) {
try {
permissions = loginserviceimpl.getpermissionList(roleList.get(i).getRoleid());
roleList.get(i).setPermissionList(permissions);
} catch (Exception e) {
e.printStackTrace();
}
}
userExample.setUser(user);
userExample.setRoleList(roleList);
SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo(user, password,this.getName());
return simpleAuthenticationInfo;
授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
user user = (user) principals.getPrimaryPrincipal();
List<Permission> permissionsList = null;
try {
permissionsList = loginserviceimpl.getPermission(user.getId());
} catch (Exception e) {
e.printStackTrace();
}
List<String> permissions = new ArrayList<String>();
for(Permission syspermission:permissionsList) {
permissions.add(syspermission.getPername());
}
SimpleAuthorizationInfo simpleAuthorizationInfo = new SimpleAuthorizationInfo();
simpleAuthorizationInfo.addStringPermissions(permissions);
return simpleAuthorizationInfo;
}
}