You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
funuserValidate(login:String, password:String): Boolean {
val salt =DataBaseProvider.getSaltByLogin(login)
val resultPassword =DataBaseProvider.getPasswordByLogin(login)
returnUtils.encode(argPass, salt) == resultPassword
}
Объект: АвторизацияПровайдер
Метод: Авторизации
funauthorize(login:String, password:String, role:String, resourse:String, ds:String?, de:String?, vol:String?): CodeExecute {
if (!Roles.roleValidate(role)){
returnCodeExecute.UNKNOWN_ROLES.statusCode
}
if (!isResourceAccess(login, role, resource)){
returnCodeExecute.FORBIDDEN
}
if (ds !=null&& de !=null&& vol !=null){
if (dateValidate(ds, de) || volValidate(vol)){
returnCodeExecute.INCORRECT_ACTIVITY.statusCode
}
}
returnCodeExecute.OK.statuscode
}
fun ByteArray.toStr(): String=MessageDigest.getInstance("MD5").digest(sourse.toByteArray()).joinToString("") { "%02x".format(it) }
Объект: Аргумент
Метод: Парсит строку и возвращает объект Аргументов
funparseArguments(args:Array<String>): Arguments {
val parser =ArgParser("Authorization project")
val login by parser.option(ArgType.String, shortName ="login", description ="Input login")
val password by parser.option(ArgType.String, shortName ="password", description ="Input password")
val role by parser.option(ArgType.String, shortName ="role", description ="Input role")
val resourse by parser.option(ArgType.String, shortName ="resourse", description ="Input resource")
val ds by parser.option(ArgType.String, shortName ="ds", description ="Input date start: YYYY-m-d")
val de by parser.option(ArgType.String, shortName ="de", description ="Input date finish: YYYY-m-d")
val vol by parser.option(ArgType.String, shortName ="vol", description ="Input number")
parser.parse(args)
returnArguments(login, password, role, resourse, ds, de, vol)
}
// Code: 0 | Ввести правильные данные
java -jar "main.jar"-login admin -password 00000// Code: 0 | Ввести правильные данные, но поменять порядок записи
java -jar "main.jar"-password 00000-login admin
// Code: 2 | Ввести неверный формат логина
java -jar "main.jar"-login "?login?"-password 00000// Code: 3 | Ввести данные не зарегистрированного пользователя
java -jar "main.jar"-login NotRegUser-password NotRegUser// Code: 4 | Ввести верный логин, но неверный пароль
java -jar "main.jar"-login admin -password WrongPassword
Логин, Пароль, Роль, Ресурс
// Code: 0 | Ввести вверные данные для доступа к ресурсу
java -jar "main.jar"-login admin -password 00000-role READ-resource A// Code: 0 | Ввести вверные данные для доступа к ресурсу
java -jar "main.jar"-login admin -password 00000-role WRITE-resource "A.B"// Code: 5 | Ввести не существующую роль
java -jar "main.jar"-login admin -password 00000-role UNKNOWNROLE-resource A// Code: 5 | Ввести не существующий ресурс
java -jar "main.jar"-login admin -password 00000-role READ-resource NOT_FOUND_RESOURCE// Code: 6 | Ввести данные ресурса с ролью, к которому нет доступа у пользователя
java -jar "main.jar"-login admin -password 00000-role EXECUDE-resource A
Логин, Пароль, Роль, Ресурс, Дата начала, Дата завершения, Объем
// Code: 0 | Ввести валидные данные
java -jar "main.jar"-login admin -password 00000-role READ-resource A-ds "2015-12-31"-de "2016-12-31"-vol 55// Code: 7 | Дата начала первышает дату завершения
java -jar "main.jar"-login admin -password 00000-role READ-resource A-ds "2017-12-31"-de "2016-12-31"-vol 55// Code: 7 | Ввести не верный формат даты
java -jar "main.jar"-login admin -password 00000-role READ-resource A-ds "time_start"-de "time_end"-vol 55// Code: 7 | Ввести не верный объем (не является числом)
java -jar "main.jar" login admin -password 00000-role READ-resource A-ds "2017-12-31"-de "2016-12-31"-vol NOT_VALID-vol 55