1 package twcsckernel.projectbase.io; 2 3 import java.io.File; 4 import java.io.IOException; 5 6 /*** 7 * Interfejs mededżera bezpieczeństwa plików, który sprawdza czy podana zdalnie 8 * ścieżka jest poprawna i czy użytkownik ma do niej prawa. 9 * 10 * @author VMD Group 11 * 12 */ 13 public interface FileSecurityManager { 14 public static final int ACC_OK = 0; 15 16 public static final int ACC_NOT_FOUND = 1; 17 18 public static final int ACC_ILLEGAL = 2; 19 20 /*** 21 * Sprawdza, czy użytkownik ma prawa do podanej ścieżki (kanoniczna ścieżka 22 * <i>root path</i> użytkownika zawiera się w kanonicznej ścieżce obiektu 23 * file) oraz jeśli prawa są sprawdza czy podany plik istnieje. 24 * 25 * @param file 26 * sprawdzany obiekt pliku 27 * @return 28 * <ul> 29 * <li><i>ACC_OK</i> - są prawa oraz plik istnieje 30 * <li><i>ACC_NOT_FOUND</i> - są prawa, ale plik nie istnieje 31 * lub niepoprawna ścieżka (w ramach praw) 32 * <li><i>ACC_ILLEGAL</i> - brak praw lub niepoprawna ścieżka 33 * </ul> 34 */ 35 public int checkReadAccess(File file); 36 37 /*** 38 * Sprawdza, czy użytkownik ma prawa do pliku o podanej ścieżce (kanoniczna 39 * ścieżka <i>root path</i> użytkownika zawiera się w kanonicznej ścieżce 40 * obiektu file) oraz jeśli prawa są sprawdza czy podany plik jest plikiem 41 * poprawnym systemu plików. 42 * 43 * @param file 44 * sprawdzany obiekt pliku 45 * @return 46 * <ul> 47 * <li><i>ACC_OK</i> - są prawa oraz nazwa pliku jest poprawna 48 * <li><i>ACC_NOT_FOUND</i> - są prawa, ale nazwa pliku nie 49 * jest poprawna lub niepoprawna ścieżka (w ramach praw) 50 * <li><i>ACC_ILLEGAL</i> - brak praw lub niepoprawna ścieżka 51 * </ul> 52 */ 53 public int checkWriteAccess(File file); 54 55 /*** 56 * Sprawdza, czy użytkownik ma prawa do ścieżki podanego pliku (kanoniczna 57 * ścieżka <i>root path</i> użytkownika zawiera się w kanonicznej ścieżce 58 * obiektu file) - używana przez 59 * {@link #checkReadAccess(File) checkReadAccess} oraz 60 * {@link #checkWriteAccess(File) checkWriteAccess}. 61 * 62 * @param file 63 * sprawdzany obiekt pliku 64 * @return 65 * <ul> 66 * <li><i>ACC_OK</i> - są prawa = root path użytkownika zawiera 67 * się w filePath 68 * <li><i>ACC_ILLEGAL</i> - brak praw lub niepoprawna ścieżka 69 * </ul> 70 */ 71 public int checkRootPath(File file); 72 73 /*** 74 * @return menedżer ścieżki root praw użytkownika 75 */ 76 public UserRootPathManager getUserRootPathManager(); 77 78 /*** 79 * Ustawienie ścieżki root security managera 80 * 81 * @param userRootPath - 82 * ścieżka root użytkownika 83 * @throws IOException - 84 * ew. wyjątek rzucany przy pobieraniu ścieżki kanonicznej pliku 85 */ 86 public void setRootPath(String userRootPath) throws IOException; 87 88 }