Como codificar um sistema de login muito simples com java
eu preciso criar um sistema que verifique um arquivo para o nome de usuário e senha e se estiver correto, ele diz se ou não em uma etiqueta. Até agora eu tenho sido capaz de simplesmente fazer um nome de usuário e senha igual à variável, mas preciso ligá-lo a um arquivo de alguma forma. Eu sou um programador de noob por isso muita ajuda é apreciada. Eis o que tenho debaixo do meu botão de autenticação.
String pass;
String user;
user = txtUser.getText();
pass = txtPass.getText();
if(pass.equals("blue") && user.equals("bob") ){
lblDisplay.setText("Credentials Accepted.");
}
else{
lblDisplay.setText("Please try again.");
}
9 answers
Terá de utilizar java.util.Scanner
para este problema.
Aqui está um bom programa de login para a consola:
import java.util.Scanner; // I use scanner because it's command line.
public class Login {
public void run() {
Scanner scan = new Scanner (new File("the\\dir\\myFile.extension"));
Scanner keyboard = new Scanner (System.in);
String user = scan.nextLine();
String pass = scan.nextLine(); // looks at selected file in scan
String inpUser = keyboard.nextLine();
String inpPass = keyboard.nextLine(); // gets input from user
if (inpUser.equals(user) && inpPass.equals(pass)) {
System.out.print("your login message");
} else {
System.out.print("your error message");
}
}
}
Claro que vai usar Scanner scanner = new Scanner (File toScan);
mas não para a entrada do utilizador.
Como última nota, você é pelo menos um programador decente se você pode fazer componentes Swing.
import java.util.Scanner;
public class BATM {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String username;
String password;
System.out.println("Log in:");
System.out.println("username: ");
username = input.next();
System.out.println("password: ");
password = input.next();
//users check = new users(username, password);
if(username.equals(username) && password.equals(password))
System.out.println("You are logged in");
}
}
Código
import java.util.Scanner;
public class LoginMain {
public static void main(String[] args) {
String Username;
String Password;
Password = "123";
Username = "wisdom";
Scanner input1 = new Scanner(System.in);
System.out.println("Enter Username : ");
String username = input1.next();
Scanner input2 = new Scanner(System.in);
System.out.println("Enter Password : ");
String password = input2.next();
if (username.equals(Username) && password.equals(Password)) {
System.out.println("Access Granted! Welcome!");
}
else if (username.equals(Username)) {
System.out.println("Invalid Password!");
} else if (password.equals(Password)) {
System.out.println("Invalid Username!");
} else {
System.out.println("Invalid Username & Password!");
}
}
}
Verifique este código:
Importar java.util.Scanner;
Principal da classe pública {
public static void main(String[] args) throws IllegalAccessException {
String username ;
String password;
String yes_0r_no;
String scann;
String passscan;
Scanner scan = new Scanner(System.in);
Scanner scanner = new Scanner(System.in);
Scanner name = new Scanner(System.in);
System.out.println("Username:");
username = name.next().toLowerCase();
Scanner pass = new Scanner(System.in);
System.out.println("Password:");
password = pass.next().toLowerCase();
System.out.println("You are logged in");
Scanner ask = new Scanner(System.in);
System.out.println("Do you want to check this or not(yes or no) :");
yes_0r_no = ask.next().toLowerCase();
while (true){
if (yes_0r_no.equals("yes")){
System.out.println("Username:");
scann = scan.next().toLowerCase();
if (scann == username) {
continue;
}
System.out.println("Password");
passscan = scanner.next().toLowerCase();
if (passscan.equals(password)) {
System.out.println("You are logged in");
break;
}if (!password.equals(passscan)) {
throw new IllegalAccessException();
}
}
if (yes_0r_no.equals("no"))
break ;
}
}
}
import java.util.Scanner;
public class LoginMain {
public static void main(String[] args) {
String Username;
String Password;
Password = "123";
Username = "wisdom";
Scanner input1 = new Scanner(System.in);
System.out.println("Enter Username : ");
String username = input1.next();
Scanner input2 = new Scanner(System.in);
System.out.println("Enter Password : ");
String password = input2.next();
if (username.equals(Username) && password.equals(Password)) {
System.out.println("Access Granted! Welcome!");
}
else if (username.equals(Username)) {
System.out.println("Invalid Password!");
} else if (password.equals(Password)) {
System.out.println("Invalid Username!");
} else {
System.out.println("Invalid Username & Password!");
}
Map<String, String> d = new HashMap<>();
void input(String u, String p, String e) {
read();
if (e.equals("login")) login(u, p);
else if (e.equals("register")) register(u, p);
write();
}
void read() {
d = new HashMap<>();
String s = "";
try {
s = new String(Files.readAllBytes(Paths.get("data.txt")));
}catch(IOException e) {
e.printStackTrace();
}
String [] pairs = s.split("\n");
for (int i = 0; i < pairs.length; i++) {
d.put(pairs[i].split(",")[0], pairs[i].split(",")[1]);
}
}
void write() {
try (FileWriter m = new FileWriter("data.txt")) {
for (Map.Entry<String, String> entry : d.entrySet()) {
m.write(entry.getKey() + "," + entry.getValue() + "\n");
}
m.close();
}catch (IOException e) {
e.printStackTrace();
}
}
boolean login(String u, String p) {
return (d.get(u).equals(p)) ? true : false;
}
boolean register(String u, String p) {
if (d.containsKey(u)) return false;
d.put(u, p);
return true;
}
Dica: 1. fio.Contém 2. Classe De Ficheiros
String user;
String pass;
Scanner scan = new Scanner(new File("File.txt"));
while(scan.hasNext){ //While the file still has more lines remaining
if(scan.nextLine() == user){
if(scan.nextLine == pass){
lblDisplay.setText("Credentials Accepted.");
}
else{
lblDisplay.setText("Please try again.");
}
}
}
import java.<span class="q39pbqr9" id="q39pbqr9_9">net</span>.*;
import java.io.*;
<span class="q39pbqr9" id="q39pbqr9_1">public class</span> A
{
static String user = "user";
static String pass = "pass";
static String param_user = "username";
static String param_pass = "password";
static String content = "";
static String action = "action_url";
static String urlName = "url_name";
public static void main(String[] args)
{
try
{
user = URLEncoder.encode(user, "UTF-8");
pass = URLEncoder.encode(pass, "UTF-8");
content = "action=" + action +"&" + param_user +"=" + user + "&" + param_pass + "=" + pass;
URL url = new URL(urlName);
HttpURLConnection urlConnection = (HttpURLConnection)(url.openConnection());
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
urlConnection.setRequestMethod("POST");
DataOutputStream dataOutputStream = new DataOutputStream(urlConnection.getOutputStream());
dataOutputStream.writeBytes(content);
dataOutputStream.flush();
dataOutputStream.close();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
String responeLine;
StringBuilder response = new StringBuilder();
while ((responeLine = bufferedReader.readLine()) != null)
{
response.append(responeLine);
}
System.out.println(response);
}catch(Exception ex){ex.printStackTrace();}
}