Member 14970483 Ответов: 0

Защищенная система аутентификации для организации


Программа на языке Си для:
Система должна проверить, является ли пользователь действительным
Если пользователь действителен, он должен спросить пользователя, хочет ли он узнать баланс счета, сделать перевод средств или Обновить баланс.
Если пользователь не является действительным, сообщите администратору о несанкционированном доступе.
Если пользователь совершил более 3 неправильных попыток входа в систему, то эта учетная запись должна быть заблокирована.
Администратор получает ежемесячные отчеты о несанкционированном доступе.

Что я уже пробовал:

Создание структуры и некоторая аутентификация пользователя, но это не сработало.
Хотите создать проект как базу данных на основе использования C. Есть идеи, как сохранить имя пользователя и пароль в файле?

for(i=0;i<row;i++){
			if(strcmp(user.userName,userNames[i]) == 0 ){
				userType=2;
				break;
			}
		}
	}
	if(userType==1||userType==2){
		res = validatePassword(user.password);
	}
	printf("%d",userType);
	printf("\n%d",res);
}
int validatePassword(char passwd[]){
	return 1;
}

Richard MacCutchan

- но это не сработало."
Извините, но мы не можем догадаться, что вы сделали не так. Пожалуйста, используйте Улучшить вопрос ссылка выше и добавить полную информацию о том, что вы пробовали и какие результаты вы видели.

Dave Kreskowiak

Если у вас есть проблема с вашим кодом, мы должны увидеть соответствующий код, который вы написали, и детали проблемы, с которой вы столкнулись.

Прямо сейчас, когда ваш "вопрос" стоит, похоже, что вы хотите, чтобы кто-то написал ваш код для вас, и этого не произойдет.

Gerry Schmitz

Это работа / проект, а не "вопрос".

Richard MacCutchan

Вы создали массив имен пользователей. Но требование состоит в том, чтобы использовать структуру пользователя. Поэтому создайте массив пользовательских структур и инициализируйте их соответствующими деталями. Затем, когда пользователь пытается войти в систему, вы можете проверить как имя пользователя, так и пароль в таблице struct. Это также даст вам немедленный доступ к балансу счета для пользователей, которые пройдут проверку безопасности.

Member 14970483

спасибо. Попробую это сделать и спрошу обратно, если я не смогу этого сделать

Member 14970483

есть ли какой-нибудь способ сохранить пользователей и их данные в файле и извлечь их во время выполнения в структуре?
Точно так же, прежде чем программа завершится, она обновит измененные значения(например, accountBalance) в файл?

Richard MacCutchan

Да, это стандартная обработка. В конце программы вы должны записать элементы структуры в файл. Поскольку в данном случае это простые структуры, вы можете записать их непосредственно в файл данных. Затем вы можете повторно загрузить файл в более позднее время для нового выполнения вашей программы. Примечание: Вы должны добавить одно значение в начале файла, чтобы знать, сколько структур было записано, так как вам нужно будет выделить пространство, прежде чем читать в него.

Member 14970483

Не могли бы вы помочь мне с обработкой файлов в этой программе? Я не могу сделать это с массивом структур.
Я пришлю вам свой код и, пожалуйста, заставьте его работать с файлом. Все функциональные возможности были завершены, осталась только обработка файлов.

Richard MacCutchan

Извините, но это ваше задание, так что вы должны выполнить эту работу. Видеть при помощи функции fopen, поведение _wfopen | Майкрософт документы[^] для получения подробной информации об обработке файлов в C.

Member 14970483

Когда я пытаюсь записать несанкционированные имена пользователей в файл, то он не получает правильных значений(когда имена пользователей имеют пробелы между ними):-

printf("пользователь не существует\n");
fp=fopen("log.dat","ab");
fwrite(enteredUsername,1,sizeof(enteredUsername),fp);
fclose(fp);

0 Ответов