@Override public FtpletResult beforeCommand(FtpSession session, FtpRequest request) throws FtpException { if (session.getUser() != null) { Class<? extends Authority> authority = commandAuthorityMap.get(request.getCommand()); if (authority != null && session.getUser().getAuthorities(authority).isEmpty()) { session.write(new DefaultFtpReply(FtpReply.REPLY_450_REQUESTED_FILE_ACTION_NOT_TAKEN, "Permission denied")); return FtpletResult.SKIP; } } return null; }
/** * Copy constructor. */ public BaseUser(User user) { name = user.getName(); password = user.getPassword(); authorities = user.getAuthorities(); maxIdleTimeSec = user.getMaxIdleTime(); homeDir = user.getHomeDirectory(); isEnabled = user.getEnabled(); }
/** * Copy constructor. */ public HdfsUser(User user) { name = user.getName(); password = user.getPassword(); authorities = user.getAuthorities(); maxIdleTimeSec = user.getMaxIdleTime(); homeDir = user.getHomeDirectory(); isEnabled = user.getEnabled(); }
static FTPUser from(User user) { final String name = user.getName(); final String password = user.getPassword(); final String homeDirectory = user.getHomeDirectory(); final boolean enable = user.getEnabled(); final int idleSec = user.getMaxIdleTime(); boolean hasWritePermission = false; List<? extends Authority> authorities = user.getAuthorities(); if (authorities != null) { for (Authority authority : authorities) { if (authority instanceof WritePermission) { hasWritePermission = true; break; } } } return new FTPUser(name, password, homeDirectory, false, enable, idleSec, hasWritePermission, 0, 0, 10, 10); }