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); + } +}