Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: improve UI #7

Merged
merged 3 commits into from
Feb 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 26 additions & 3 deletions src/main/java/org/casbin/Application.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,37 @@

package org.casbin;

import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.core.env.Environment;
import org.springframework.util.StringUtils;

import java.lang.management.ManagementFactory;
import java.net.InetAddress;
import java.net.UnknownHostException;

@SpringBootApplication
@Slf4j
public class Application {

public static void main(String[] args) {
SpringApplication.run(Application.class, args);
public static void main(String[] args) throws UnknownHostException {
ConfigurableApplicationContext application = SpringApplication.run(Application.class, args);
Environment env = application.getEnvironment();
String ip = InetAddress.getLocalHost().getHostAddress();
String port = env.getProperty("server.port");
String path = env.getProperty("server.servlet.context-path");
if (StringUtils.isEmpty(path)) {
path = "";
}
log.info("\n----------------------------------------------------------\n\t" +
"Application is running! Access URLs:\n\t" +
"Local access website: \t\thttp://localhost:" + port + path + "\n\t" +
"External access website: \thttp://" + ip + ":" + port + path + "\n\t" +
"----------------------------------------------------------");
String jvmName = ManagementFactory.getRuntimeMXBean().getName();
log.info("Current project progress number:" + jvmName.split("@")[0]);
}

}

26 changes: 6 additions & 20 deletions src/main/java/org/casbin/controller/LoginController.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,43 +16,29 @@

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.casbin.service.AuthenticationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

@Controller
public class LoginController {

@Autowired
private AuthenticationService authenticationService;

@RequestMapping(value = {"/"}, method = RequestMethod.GET)
public String index() {
return "main/login";
}

@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@RequestParam String username, @RequestParam String password, HttpSession session, HttpServletRequest request, RedirectAttributes redirectAttributes) {
boolean isAuthenticated = authenticationService.authenticate(username, password);

if (isAuthenticated) {
session.invalidate();
session = request.getSession(true);
session.setAttribute("username", username);
return "redirect:/menu";
} else {
redirectAttributes.addAttribute("error", true);
return "redirect:/login";
}
public String login(@RequestParam String username, HttpSession session, HttpServletRequest request) {
session.invalidate();
session = request.getSession(true);
session.setAttribute("username", username);
return "redirect:/menu";
}

@RequestMapping(value = {"/denied"}, method = RequestMethod.GET)
public String denied() {
return "main/denied";
}
}

}
29 changes: 0 additions & 29 deletions src/main/java/org/casbin/service/AuthenticationService.java

This file was deleted.

4 changes: 1 addition & 3 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,4 @@ spring:
max-file-size: 2048MB

server:
port: 8080
servlet:
context-path: /casbin
port: 8080
12 changes: 12 additions & 0 deletions src/main/resources/templates/AdminMenu/AdminMenu.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
<head>
<meta charset="UTF-8">
<title>AdminMenu</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
div {
font-size: 24px;
}
</style>
</head>
<body>
<div>
Expand Down
12 changes: 12 additions & 0 deletions src/main/resources/templates/AdminMenu/AdminSubMenu_allow.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
<head>
<meta charset="UTF-8">
<title>AdminSubMenu_allow</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
div {
font-size: 24px;
}
</style>
</head>
<body>
<div>
Expand Down
12 changes: 12 additions & 0 deletions src/main/resources/templates/AdminMenu/AdminSubMenu_deny.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
<head>
<meta charset="UTF-8">
<title>AdminSubMenu_deny</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
div {
font-size: 24px;
}
</style>
</head>
<body>
<div>
Expand Down
17 changes: 14 additions & 3 deletions src/main/resources/templates/OtherMenu/OtherMenu.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,23 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>SystemMenu</title>
<title>OtherMenu</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
div {
font-size: 24px;
}
</style>
</head>
<body>
<div>
OtherMenu
</div>

</body>
</html>
</html>
12 changes: 12 additions & 0 deletions src/main/resources/templates/UserMenu/UserMenu.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
<head>
<meta charset="UTF-8">
<title>UserMenu</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
div {
font-size: 24px;
}
</style>
</head>
<body>
<div>
Expand Down
12 changes: 12 additions & 0 deletions src/main/resources/templates/UserMenu/UserSubMenu_allow.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
<head>
<meta charset="UTF-8">
<title>UserSubMenu_allow</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
div {
font-size: 24px;
}
</style>
</head>
<body>
<div>
Expand Down
12 changes: 12 additions & 0 deletions src/main/resources/templates/UserMenu/UserSubMenu_deny.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
<head>
<meta charset="UTF-8">
<title>UserSubMenu_deny</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
div {
font-size: 24px;
}
</style>
</head>
<body>
<div>
Expand Down
12 changes: 12 additions & 0 deletions src/main/resources/templates/UserMenu/UserSubSubMenu.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,18 @@
<head>
<meta charset="UTF-8">
<title>UserSubSubMenu</title>
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
div {
font-size: 24px;
}
</style>
</head>
<body>
<div>
Expand Down
32 changes: 14 additions & 18 deletions src/main/resources/templates/main/login.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,22 @@
<html lang="en">
<head>
<meta charset="UTF-8">
<title>login</title>
<title>Login</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/tailwind.min.css" rel="stylesheet">
</head>
<body>
<div class="panel panel-primary" style="width: 500px; margin: 5% auto;">
<div class="panel-heading">login</div>
<div class="panel-body">
<form action="login" method="post" class="form-horizontal">
<div class="input-group input-sm" style="margin-bottom: 10px">
<label class="input-group-addon"><i class="glyphicon glyphicon-user"></i></label>
<input type="text" class="form-control" name="username" placeholder="username">
</div>
<div class="input-group input-sm" style="margin-bottom: 10px">
<label class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></label>
<input type="password" class="form-control" name="password" placeholder="password">
</div>
<div class="form-actions">
<input type="submit" class="btn btn-block btn-primary btn-default" value="sign in">
</div>
<body class="flex h-screen bg-gray-200">
<div class="m-auto w-full max-w-xs">
<div class="bg-white shadow-md rounded px-8 pt-6 pb-8 mb-4">
<div class="mb-4">
<h1 class="block text-gray-700 text-sm font-bold mb-2">Login as:</h1>
</div>
<form action="login" method="post">
<input type="hidden" name="password" value="dummy">
<button type="submit" name="username" value="root" class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline mb-3 w-full">Root</button>
<button type="submit" name="username" value="admin" class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline mb-3 w-full">Admin</button>
<button type="submit" name="username" value="user" class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded focus:outline-none focus:shadow-outline w-full">User</button>
</form>
</div>
</div>
</body>
</html>
</html>
Loading
Loading