From c19b8f0981b1702f802c89a3810a05baa11f5f5b Mon Sep 17 00:00:00 2001
From: wanglufei <2686221966@qq.com>
Date: Mon, 11 Apr 2022 11:53:30 +0800
Subject: [PATCH] Initial commit
---
.gitignore | 2 +
.idea/.gitignore | 8 ++
.idea/compiler.xml | 21 +++
.idea/encodings.xml | 6 +
.idea/jarRepositories.xml | 20 +++
..._ch_qos_logback_logback_classic_1_2_11.xml | 13 ++
...en__ch_qos_logback_logback_core_1_2_11.xml | 13 ++
.../Maven__com_beust_jcommander_1_78.xml | 13 ++
...ackson_core_jackson_annotations_2_12_6.xml | 13 ++
...erxml_jackson_core_jackson_core_2_12_6.xml | 13 ++
...jackson_core_jackson_databind_2_12_6_1.xml | 13 ++
..._datatype_jackson_datatype_jdk8_2_12_6.xml | 13 ++
...atatype_jackson_datatype_jsr310_2_12_6.xml | 13 ++
..._jackson_module_parameter_names_2_12_6.xml | 13 ++
..._com_google_code_findbugs_jsr305_3_0_1.xml | 13 ++
...nnotation_jakarta_annotation_api_1_3_5.xml | 13 ++
..._apache_logging_log4j_log4j_api_2_17_2.xml | 13 ++
...he_logging_log4j_log4j_to_slf4j_2_17_2.xml | 13 ++
..._tomcat_embed_tomcat_embed_core_9_0_60.xml | 13 ++
...he_tomcat_embed_tomcat_embed_el_9_0_60.xml | 13 ++
...at_embed_tomcat_embed_websocket_9_0_60.xml | 13 ++
.../Maven__org_slf4j_jul_to_slf4j_1_7_36.xml | 13 ++
.../Maven__org_slf4j_slf4j_api_1_7_36.xml | 13 ++
...pringframework_boot_spring_boot_2_5_12.xml | 13 ++
..._boot_spring_boot_autoconfigure_2_5_12.xml | 13 ++
...mework_boot_spring_boot_starter_2_5_12.xml | 13 ++
...k_boot_spring_boot_starter_json_2_5_12.xml | 13 ++
...oot_spring_boot_starter_logging_2_5_12.xml | 13 ++
...oot_spring_boot_starter_security_2_6_2.xml | 13 ++
...boot_spring_boot_starter_tomcat_2_5_12.xml | 13 ++
...ork_boot_spring_boot_starter_web_2_6_2.xml | 13 ++
...gframework_boot_spring_boot_test_2_6_2.xml | 13 ++
..._security_spring_security_config_5_5_5.xml | 13 ++
...rk_security_spring_security_core_5_5_5.xml | 13 ++
..._security_spring_security_crypto_5_5_5.xml | 13 ++
...ork_security_spring_security_web_5_5_5.xml | 13 ++
..._org_springframework_spring_aop_5_3_18.xml | 13 ++
...rg_springframework_spring_beans_5_3_18.xml | 13 ++
..._springframework_spring_context_5_3_18.xml | 13 ++
...org_springframework_spring_core_5_3_18.xml | 13 ++
...ringframework_spring_expression_5_3_18.xml | 13 ++
..._org_springframework_spring_jcl_5_3_18.xml | 13 ++
..._org_springframework_spring_web_5_3_18.xml | 13 ++
...g_springframework_spring_webmvc_5_3_18.xml | 13 ++
.../Maven__org_testng_testng_7_5.xml | 13 ++
.../Maven__org_webjars_jquery_3_5_1.xml | 13 ++
.../Maven__org_yaml_snakeyaml_1_28.xml | 13 ++
.idea/misc.xml | 13 ++
.idea/modules.xml | 8 ++
.idea/uiDesigner.xml | 124 ++++++++++++++++++
pom.xml | 63 +++++++++
springsecurity_demo.iml | 71 ++++++++++
.../uin/SpringsecurityDemoApplication.java | 13 ++
.../com/uin/config/SpringSecurityConfig.java | 66 ++++++++++
.../com/uin/controller/LoginController.java | 51 +++++++
.../service/impl/UserDetailsServiceImpl.java | 41 ++++++
src/main/resources/application.yml | 9 ++
src/main/resources/templates/error.html | 10 ++
src/main/resources/templates/login.html | 15 +++
src/main/resources/templates/main.html | 10 ++
.../com/uin/utils/PasswordEncoder_test.java | 25 ++++
61 files changed, 1122 insertions(+)
create mode 100644 .gitignore
create mode 100644 .idea/.gitignore
create mode 100644 .idea/compiler.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/jarRepositories.xml
create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml
create mode 100644 .idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml
create mode 100644 .idea/libraries/Maven__com_beust_jcommander_1_78.xml
create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_6.xml
create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_12_6.xml
create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_12_6_1.xml
create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_12_6.xml
create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_6.xml
create mode 100644 .idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_12_6.xml
create mode 100644 .idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml
create mode 100644 .idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
create mode 100644 .idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml
create mode 100644 .idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml
create mode 100644 .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_60.xml
create mode 100644 .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_60.xml
create mode 100644 .idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_60.xml
create mode 100644 .idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml
create mode 100644 .idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_2_5_12.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_12.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_5_12.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_5_12.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_5_12.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_2_6_2.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_5_12.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_6_2.xml
create mode 100644 .idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_6_2.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_config_5_5_5.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_core_5_5_5.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_5_5.xml
create mode 100644 .idea/libraries/Maven__org_springframework_security_spring_security_web_5_5_5.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_aop_5_3_18.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_beans_5_3_18.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_context_5_3_18.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_core_5_3_18.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_expression_5_3_18.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_jcl_5_3_18.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_web_5_3_18.xml
create mode 100644 .idea/libraries/Maven__org_springframework_spring_webmvc_5_3_18.xml
create mode 100644 .idea/libraries/Maven__org_testng_testng_7_5.xml
create mode 100644 .idea/libraries/Maven__org_webjars_jquery_3_5_1.xml
create mode 100644 .idea/libraries/Maven__org_yaml_snakeyaml_1_28.xml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/uiDesigner.xml
create mode 100644 pom.xml
create mode 100644 springsecurity_demo.iml
create mode 100644 src/main/java/com/uin/SpringsecurityDemoApplication.java
create mode 100644 src/main/java/com/uin/config/SpringSecurityConfig.java
create mode 100644 src/main/java/com/uin/controller/LoginController.java
create mode 100644 src/main/java/com/uin/service/impl/UserDetailsServiceImpl.java
create mode 100644 src/main/resources/application.yml
create mode 100644 src/main/resources/templates/error.html
create mode 100644 src/main/resources/templates/login.html
create mode 100644 src/main/resources/templates/main.html
create mode 100644 src/test/java/com/uin/utils/PasswordEncoder_test.java
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..744289d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+# Project exclude paths
+/target/
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..13566b8
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..6229cd2
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..63e9001
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
new file mode 100644
index 0000000..5a2f139
--- /dev/null
+++ b/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml
new file mode 100644
index 0000000..fbfd0a6
--- /dev/null
+++ b/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml
new file mode 100644
index 0000000..3e99e13
--- /dev/null
+++ b/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_11.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_beust_jcommander_1_78.xml b/.idea/libraries/Maven__com_beust_jcommander_1_78.xml
new file mode 100644
index 0000000..a054dc9
--- /dev/null
+++ b/.idea/libraries/Maven__com_beust_jcommander_1_78.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_6.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_6.xml
new file mode 100644
index 0000000..522eced
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_12_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_12_6.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_12_6.xml
new file mode 100644
index 0000000..9a066e1
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_12_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_12_6_1.xml b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_12_6_1.xml
new file mode 100644
index 0000000..3487def
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_12_6_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_12_6.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_12_6.xml
new file mode 100644
index 0000000..17f8bf6
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_12_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_6.xml b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_6.xml
new file mode 100644
index 0000000..20f0c62
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_12_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_12_6.xml b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_12_6.xml
new file mode 100644
index 0000000..e7acad5
--- /dev/null
+++ b/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_12_6.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml
new file mode 100644
index 0000000..316cf97
--- /dev/null
+++ b/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
new file mode 100644
index 0000000..e80d264
--- /dev/null
+++ b/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml
new file mode 100644
index 0000000..7e82ae9
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_17_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml
new file mode 100644
index 0000000..0f213de
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_17_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_60.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_60.xml
new file mode 100644
index 0000000..71d6f40
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_60.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_60.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_60.xml
new file mode 100644
index 0000000..5f8436e
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_60.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_60.xml b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_60.xml
new file mode 100644
index 0000000..712927e
--- /dev/null
+++ b/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_60.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml
new file mode 100644
index 0000000..013063a
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_36.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml
new file mode 100644
index 0000000..fd740c0
--- /dev/null
+++ b/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_36.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_5_12.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_5_12.xml
new file mode 100644
index 0000000..b749c78
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_5_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_12.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_12.xml
new file mode 100644
index 0000000..a750b61
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_5_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_5_12.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_5_12.xml
new file mode 100644
index 0000000..d21eb5b
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_5_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_5_12.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_5_12.xml
new file mode 100644
index 0000000..6659762
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_5_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_5_12.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_5_12.xml
new file mode 100644
index 0000000..efbcfce
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_5_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_2_6_2.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_2_6_2.xml
new file mode 100644
index 0000000..4bf5a83
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_security_2_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_5_12.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_5_12.xml
new file mode 100644
index 0000000..c1ba259
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_5_12.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_6_2.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_6_2.xml
new file mode 100644
index 0000000..5d2716b
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_6_2.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_6_2.xml
new file mode 100644
index 0000000..761255e
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_6_2.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_config_5_5_5.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_config_5_5_5.xml
new file mode 100644
index 0000000..a64a993
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_config_5_5_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_core_5_5_5.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_core_5_5_5.xml
new file mode 100644
index 0000000..00d6ec3
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_core_5_5_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_5_5.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_5_5.xml
new file mode 100644
index 0000000..2e9b138
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_5_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_security_spring_security_web_5_5_5.xml b/.idea/libraries/Maven__org_springframework_security_spring_security_web_5_5_5.xml
new file mode 100644
index 0000000..a676ea7
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_security_spring_security_web_5_5_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_aop_5_3_18.xml b/.idea/libraries/Maven__org_springframework_spring_aop_5_3_18.xml
new file mode 100644
index 0000000..c74d80c
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_aop_5_3_18.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_beans_5_3_18.xml b/.idea/libraries/Maven__org_springframework_spring_beans_5_3_18.xml
new file mode 100644
index 0000000..a2e7256
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_beans_5_3_18.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_context_5_3_18.xml b/.idea/libraries/Maven__org_springframework_spring_context_5_3_18.xml
new file mode 100644
index 0000000..34ace9c
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_context_5_3_18.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_core_5_3_18.xml b/.idea/libraries/Maven__org_springframework_spring_core_5_3_18.xml
new file mode 100644
index 0000000..c8415b1
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_core_5_3_18.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_expression_5_3_18.xml b/.idea/libraries/Maven__org_springframework_spring_expression_5_3_18.xml
new file mode 100644
index 0000000..00f19d4
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_expression_5_3_18.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_18.xml b/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_18.xml
new file mode 100644
index 0000000..5e986a3
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_jcl_5_3_18.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_web_5_3_18.xml b/.idea/libraries/Maven__org_springframework_spring_web_5_3_18.xml
new file mode 100644
index 0000000..5eda2aa
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_web_5_3_18.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_18.xml b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_18.xml
new file mode 100644
index 0000000..3364460
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_webmvc_5_3_18.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_testng_testng_7_5.xml b/.idea/libraries/Maven__org_testng_testng_7_5.xml
new file mode 100644
index 0000000..a7b5c59
--- /dev/null
+++ b/.idea/libraries/Maven__org_testng_testng_7_5.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_webjars_jquery_3_5_1.xml b/.idea/libraries/Maven__org_webjars_jquery_3_5_1.xml
new file mode 100644
index 0000000..5de4965
--- /dev/null
+++ b/.idea/libraries/Maven__org_webjars_jquery_3_5_1.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_yaml_snakeyaml_1_28.xml b/.idea/libraries/Maven__org_yaml_snakeyaml_1_28.xml
new file mode 100644
index 0000000..d9cc863
--- /dev/null
+++ b/.idea/libraries/Maven__org_yaml_snakeyaml_1_28.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..5755a99
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..bb1c414
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..5afcf01
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,63 @@
+
+
+ 4.0.0
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.5.12
+
+
+ com.uin
+ springsecurity_demo
+ 0.0.1-SNAPSHOT
+ springsecurity_demo
+ springsecurity_demo
+
+ 1.8
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+ 2.6.2
+
+
+
+ org.springframework.boot
+ spring-boot-starter-security
+ 2.6.2
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+
+ org.testng
+ testng
+ RELEASE
+ compile
+
+
+
+ org.springframework.boot
+ spring-boot-test
+ 2.6.2
+ test
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/springsecurity_demo.iml b/springsecurity_demo.iml
new file mode 100644
index 0000000..88233ff
--- /dev/null
+++ b/springsecurity_demo.iml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/uin/SpringsecurityDemoApplication.java b/src/main/java/com/uin/SpringsecurityDemoApplication.java
new file mode 100644
index 0000000..b2f067c
--- /dev/null
+++ b/src/main/java/com/uin/SpringsecurityDemoApplication.java
@@ -0,0 +1,13 @@
+package com.uin;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class SpringsecurityDemoApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SpringsecurityDemoApplication.class, args);
+ }
+
+}
diff --git a/src/main/java/com/uin/config/SpringSecurityConfig.java b/src/main/java/com/uin/config/SpringSecurityConfig.java
new file mode 100644
index 0000000..e5bdf61
--- /dev/null
+++ b/src/main/java/com/uin/config/SpringSecurityConfig.java
@@ -0,0 +1,66 @@
+package com.uin.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.config.annotation.web.builders.HttpSecurity;
+import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.springframework.security.crypto.password.PasswordEncoder;
+
+/**
+ * @author wanglufei
+ * @description: SpringSecurity配置类
+ * @date 2022/4/10/7:51 PM
+ */
+@Configuration
+public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
+ /**
+ * 自定义登陆之后的逻辑
+ * 1.自定义登陆页面
+ *
+ * @param http
+ * @author wanglufei
+ * @date 2022/4/11 9:44 AM
+ */
+ @Override
+ protected void configure(HttpSecurity http) throws Exception {
+ //表单提交
+ http.formLogin()
+ .usernameParameter("name")
+ //必须和表单的提交是一样的
+ .loginProcessingUrl("/login").
+ //自定义登陆页面
+ loginPage("/login.html").
+ //登陆成功之后跳转的页面 必须是Post强求
+ //还有一点值得注意的,我们现在开发项目大多数都是前后端分离,这种跳转是行不通的。
+ successForwardUrl("/toMain").
+ //登陆失败跳转的页面
+ failureForwardUrl("/toError");
+
+ //authorizeRequests 授权请求
+ //authenticated 认证
+ //意思就是所有的请求的都需要认证,也有点像我们之间做的不登陆的话,去访问其他页面,都会被转发到登陆页面
+ http.authorizeRequests()
+ //给登陆错误页面放行,不需要认证
+ .antMatchers("/error.html").permitAll()
+ //意思就是给login.html放行,不需要认证
+ .antMatchers("/login.html").permitAll()
+ .anyRequest().authenticated();
+ //关闭防火墙
+ http.csrf().disable();
+ }
+
+ /**
+ * 在Spring容器中实现BCryptPasswordEncoder实例
+ * 密码加密
+ *
+ * @return org.springframework.security.crypto.password.PasswordEncoder
+ * @author wanglufei
+ * @date 2022/4/11 8:32 AM
+ */
+ @Bean
+ public PasswordEncoder passwordEncoder() {
+ return new BCryptPasswordEncoder();
+ }
+}
diff --git a/src/main/java/com/uin/controller/LoginController.java b/src/main/java/com/uin/controller/LoginController.java
new file mode 100644
index 0000000..cc10080
--- /dev/null
+++ b/src/main/java/com/uin/controller/LoginController.java
@@ -0,0 +1,51 @@
+package com.uin.controller;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * @author wanglufei
+ * @description: TODO
+ * @date 2022/4/10/5:44 PM
+ */
+@Controller
+public class LoginController {
+
+ /**
+ * 登陆
+ *
+ * @return java.lang.String
+ * @author wanglufei
+ * @date 2022/4/10 7:54 PM
+ */
+ @RequestMapping("login")
+ public String login() {
+ System.out.println("执行了login");
+ return "redirect:main.html";
+ }
+
+ /**
+ * 登陆成功跳转页面
+ *
+ * @return java.lang.String
+ * @author wanglufei
+ * @date 2022/4/11 11:03 AM
+ */
+ @RequestMapping("/toMain")
+ public String toMain() {
+ return "redirect:main";
+ }
+
+ /**
+ * 登陆失败跳转页面
+ *
+ * @return java.lang.String
+ * @author wanglufei
+ * @date 2022/4/11 11:11 AM
+ */
+ @RequestMapping("/toError")
+ public String toError() {
+ return "redirect:error.html";
+ }
+}
diff --git a/src/main/java/com/uin/service/impl/UserDetailsServiceImpl.java b/src/main/java/com/uin/service/impl/UserDetailsServiceImpl.java
new file mode 100644
index 0000000..d66a4e3
--- /dev/null
+++ b/src/main/java/com/uin/service/impl/UserDetailsServiceImpl.java
@@ -0,0 +1,41 @@
+package com.uin.service.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.authority.AuthorityUtils;
+import org.springframework.security.core.userdetails.User;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+import org.springframework.security.crypto.password.PasswordEncoder;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author wanglufei
+ * @description: 实现SpringSecurity中的UserDetailsService
+ * @date 2022/4/11/8:43 AM
+ */
+@Service
+public class UserDetailsServiceImpl implements UserDetailsService {
+ @Autowired
+ PasswordEncoder passwordEncoder;
+
+ /**
+ * 自定义username
+ *
+ * @param username
+ * @return org.springframework.security.core.userdetails.UserDetails
+ * @author wanglufei
+ * @date 2022/4/11 8:44 AM
+ */
+ @Override
+ public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
+ //1.根据username去查询数据库,不存在的就会抛出异常UsernameNotFoundException
+ if (!"admin".equals(username)) {
+ return (UserDetails) new UsernameNotFoundException("用户名不存在");
+ }
+ //2.把查询的密码(注册是已经加过密)进行解析,或者直接把密码放入构造方法
+ String password = passwordEncoder.encode("123");
+ return new User(username, password, AuthorityUtils.commaSeparatedStringToAuthorityList(
+ "admin,normal"));
+ }
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
new file mode 100644
index 0000000..d4eb8af
--- /dev/null
+++ b/src/main/resources/application.yml
@@ -0,0 +1,9 @@
+server:
+ port: 8084
+
+spring:
+ mvc:
+ view:
+ prefix: classpath:/templates/
+ suffix: .html
+ static-path-pattern: /static/**
diff --git a/src/main/resources/templates/error.html b/src/main/resources/templates/error.html
new file mode 100644
index 0000000..4ca5e2a
--- /dev/null
+++ b/src/main/resources/templates/error.html
@@ -0,0 +1,10 @@
+
+
+
+
+ Title
+
+
+错误页面登陆
+
+
diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html
new file mode 100644
index 0000000..0d4d3d1
--- /dev/null
+++ b/src/main/resources/templates/login.html
@@ -0,0 +1,15 @@
+
+
+
+
+ login
+
+
+
+
+
+
diff --git a/src/main/resources/templates/main.html b/src/main/resources/templates/main.html
new file mode 100644
index 0000000..a18d735
--- /dev/null
+++ b/src/main/resources/templates/main.html
@@ -0,0 +1,10 @@
+
+
+
+
+ main
+
+
+登陆成功
+
+
diff --git a/src/test/java/com/uin/utils/PasswordEncoder_test.java b/src/test/java/com/uin/utils/PasswordEncoder_test.java
new file mode 100644
index 0000000..ba975c8
--- /dev/null
+++ b/src/test/java/com/uin/utils/PasswordEncoder_test.java
@@ -0,0 +1,25 @@
+package com.uin.utils;
+
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
+import org.testng.annotations.Test;
+
+/**
+ * @author wanglufei
+ * @description: TODO
+ * @date 2022/4/10/6:14 PM
+ */
+@SpringBootTest
+public class PasswordEncoder_test {
+
+ @Test
+ public void test() {
+ BCryptPasswordEncoder bc = new BCryptPasswordEncoder();
+ //对原始的密码进行加密
+ String encode = bc.encode("123");
+ System.out.println(encode);
+ //原始密码和加过密的进行匹配
+ boolean matches = bc.matches("123", encode);
+ System.out.println(matches);
+ }
+}