Initial commit
This commit is contained in:
parent
1946a2ca96
commit
8ee1039de9
9
Cargo.toml
Normal file
9
Cargo.toml
Normal file
@ -0,0 +1,9 @@
|
||||
[package]
|
||||
name = "samba-login"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
rocket = "0.5.1"
|
||||
rocket_dyn_templates = { version = "0.2.0", features = ["tera"] }
|
||||
serde = { version = "1.0.215", features = ["derive"] }
|
||||
41
src/main.rs
Normal file
41
src/main.rs
Normal file
@ -0,0 +1,41 @@
|
||||
#[macro_use] extern crate rocket;
|
||||
|
||||
use rocket::form::Form;
|
||||
use rocket::form::FromForm;
|
||||
use rocket_dyn_templates::{Template, context};
|
||||
|
||||
#[derive(FromForm)]
|
||||
struct LoginData {
|
||||
username: String,
|
||||
password: String,
|
||||
}
|
||||
|
||||
#[post("/login", data = "<login_data>")]
|
||||
fn login(login_data: Form<LoginData>) -> Template {
|
||||
let correct_username = "user";
|
||||
let correct_password = "password";
|
||||
|
||||
let message = if login_data.username == correct_username && login_data.password == correct_password {
|
||||
// On successful login, you can perform actions here like creating directories.
|
||||
println!("Login successful: performing server-side actions.");
|
||||
|
||||
"Login successful! Directories have been created."
|
||||
} else {
|
||||
"Invalid username or password."
|
||||
};
|
||||
|
||||
Template::render("result", context! { message })
|
||||
}
|
||||
|
||||
#[get("/")]
|
||||
fn index() -> Template {
|
||||
Template::render("index", context! {})
|
||||
}
|
||||
|
||||
#[launch]
|
||||
fn rocket() -> _ {
|
||||
rocket::build()
|
||||
.mount("/", routes![index, login])
|
||||
.attach(Template::fairing())
|
||||
}
|
||||
|
||||
20
templates/index.html.tera
Normal file
20
templates/index.html.tera
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Login</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Login</h1>
|
||||
<form action="/login" method="post">
|
||||
<label for="username">Username:</label>
|
||||
<input type="text" id="username" name="username" required>
|
||||
<br>
|
||||
<label for="password">Password:</label>
|
||||
<input type="password" id="password" name="password" required>
|
||||
<br>
|
||||
<input type="submit" value="Login">
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
10
templates/result.html.tera
Normal file
10
templates/result.html.tera
Normal file
@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Login Result</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>{{ message }}</h1>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user