{"id":33209,"date":"2024-11-01T09:14:34","date_gmt":"2024-11-01T09:14:34","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33209"},"modified":"2024-11-01T11:28:27","modified_gmt":"2024-11-01T11:28:27","slug":"spring-boot-backend-development-course-implementing-login-and-logout-with-spring-security-user-registration-adding-dependencies","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33209\/","title":{"rendered":"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies"},"content":{"rendered":"<p><body><\/p>\n<p>This course covers the basics of backend development using Spring Boot and explains how to implement login, logout, and user registration functionalities through Spring Security.<\/p>\n<h2>1. What is Spring Boot?<\/h2>\n<p>Spring Boot is an application framework based on the Spring Framework that helps developers set up and run Spring applications more easily. It minimizes the complex setup process and provides an embedded server, allowing developers to quickly build applications. Its main features include:<\/p>\n<ul>\n<li><strong>Auto Configuration:<\/strong> Developers can run their applications using default values without having to write configuration files.<\/li>\n<li><strong>Dependency Management:<\/strong> Required libraries can be easily added through Maven or Gradle.<\/li>\n<li><strong>Control over Dependencies:<\/strong> You can pin specific versions of libraries.<\/li>\n<\/ul>\n<h2>2. Creating a Project<\/h2>\n<p>There are various ways to create a new project using Spring Boot, but the easiest way to get started is to use <a href=\"https:\/\/start.spring.io\">Spring Initializr<\/a>. Let&#8217;s follow the steps below to create a project.<\/p>\n<ol>\n<li>Access Spring Initializr<\/li>\n<li>Select Project: Maven Project<\/li>\n<li>Select Language: Java<\/li>\n<li>Select Spring Boot: Latest Version<\/li>\n<li>Input Group: com.example<\/li>\n<li>Input Artifact: demo<\/li>\n<li>Select Dependencies: Spring Web, Spring Security, Spring Data JPA, H2 Database<\/li>\n<li>Click Generate to download the ZIP file<\/li>\n<\/ol>\n<h2>3. Understanding Project Structure<\/h2>\n<p>When you open the generated project, you can see the following main directory and file structure.<\/p>\n<pre>\n    \u251c\u2500\u2500 src\n    \u2502   \u251c\u2500\u2500 main\n    \u2502   \u2502   \u251c\u2500\u2500 java\n    \u2502   \u2502   \u2502   \u2514\u2500\u2500 com\n    \u2502   \u2502   \u2502       \u2514\u2500\u2500 example\n    \u2502   \u2502   \u2502           \u2514\u2500\u2500 demo\n    \u2502   \u2502   \u2502               \u251c\u2500\u2500 DemoApplication.java\n    \u2502   \u2502   \u2502               \u2514\u2500\u2500 configuration\n    \u2502   \u2502   \u2502                   \u2514\u2500\u2500 SecurityConfig.java\n    \u2502   \u2502   \u2514\u2500\u2500 resources\n    \u2502   \u2502       \u251c\u2500\u2500 application.properties\n    \u2502   \u2502       \u2514\u2500\u2500 static\n    \u2502   \u2514\u2500\u2500 test\n    \u251c\u2500\u2500 pom.xml\n    <\/pre>\n<p>Here, the <code>DemoApplication.java<\/code> file is the main application file, and <code>application.properties<\/code> is the configuration file.<\/p>\n<h2>4. Adding Dependencies<\/h2>\n<p>The project we created includes the necessary libraries as Maven dependencies. Let&#8217;s open the <code>pom.xml<\/code> file to check the added dependencies.<\/p>\n<pre>\n    &lt;dependencies&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-security&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n            &lt;artifactId&gt;spring-boot-starter-data-jpa&lt;\/artifactId&gt;\n        &lt;\/dependency&gt;\n        &lt;dependency&gt;\n            &lt;groupId&gt;com.h2database&lt;\/groupId&gt;\n            &lt;artifactId&gt;h2&lt;\/artifactId&gt;\n            &lt;scope&gt;runtime&lt;\/scope&gt;\n        &lt;\/dependency&gt;\n    &lt;\/dependencies&gt;\n    <\/pre>\n<h2>5. Implementing Registration Functionality<\/h2>\n<p>To allow users to register, we need to save and manage user information. For this purpose, we will create a user entity using JPA and set up the connection to the database.<\/p>\n<h3>5.1 Creating the User Entity<\/h3>\n<p>First, let&#8217;s create an entity class called <code>User<\/code>. This class holds user information.<\/p>\n<pre>\n    package com.example.demo.model;\n\n    import javax.persistence.*;\n\n    @Entity\n    public class User {\n        @Id\n        @GeneratedValue(strategy = GenerationType.IDENTITY)\n        private Long id;\n        \n        private String username;\n        private String password;\n        private String email;\n\n        \/\/ Getters and Setters\n    }\n    <\/pre>\n<h3>5.2 Creating UserRepository<\/h3>\n<p>Now, we will create a <code>UserRepository<\/code> interface to save and retrieve user information from the database.<\/p>\n<pre>\n    package com.example.demo.repository;\n\n    import com.example.demo.model.User;\n    import org.springframework.data.jpa.repository.JpaRepository;\n\n    public interface UserRepository extends JpaRepository<User, Long> {\n        User findByUsername(String username);\n    }\n    <\/pre>\n<h3>5.3 Writing the Registration Service<\/h3>\n<p>We will write a service class to handle the registration logic.<\/p>\n<pre>\n    package com.example.demo.service;\n\n    import com.example.demo.model.User;\n    import com.example.demo.repository.UserRepository;\n    import org.springframework.beans.factory.annotation.Autowired;\n    import org.springframework.stereotype.Service;\n\n    @Service\n    public class UserService {\n        @Autowired\n        private UserRepository userRepository;\n\n        public User registerNewUser(User user) {\n            return userRepository.save(user);\n        }\n    }\n    <\/pre>\n<h2>6. Configuring Spring Security<\/h2>\n<p>Now we will set up Spring Security to implement login and logout functionalities.<\/p>\n<h3>6.1 Creating SecurityConfig Class<\/h3>\n<p>We will create a class for security configuration.<\/p>\n<pre>\n    package com.example.demo.configuration;\n\n    import com.example.demo.service.UserService;\n    import org.springframework.beans.factory.annotation.Autowired;\n    import org.springframework.context.annotation.Bean;\n    import org.springframework.context.annotation.Configuration;\n    import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;\n    import org.springframework.security.config.annotation.web.builders.HttpSecurity;\n    import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;\n    import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;\n\n    @Configuration\n    @EnableWebSecurity\n    public class SecurityConfig extends WebSecurityConfigurerAdapter {\n        @Autowired\n        private UserService userService;\n\n        @Override\n        protected void configure(AuthenticationManagerBuilder auth) throws Exception {\n            auth.userDetailsService(userService);\n        }\n\n        @Override\n        protected void configure(HttpSecurity http) throws Exception {\n            http\n                .authorizeRequests()\n                    .antMatchers(\"\/register\", \"\/h2-console\/**\").permitAll()\n                    .anyRequest().authenticated()\n                .and()\n                .formLogin()\n                    .loginPage(\"\/login\")\n                    .permitAll()\n                .and()\n                .logout()\n                    .permitAll();\n        }\n    }\n    <\/pre>\n<h2>7. Implementing Registration and Login Controllers<\/h2>\n<p>We will write a controller to handle registration and login functionalities.<\/p>\n<h3>7.1 Creating AuthController Class<\/h3>\n<pre>\n    package com.example.demo.controller;\n\n    import com.example.demo.model.User;\n    import com.example.demo.service.UserService;\n    import org.springframework.beans.factory.annotation.Autowired;\n    import org.springframework.stereotype.Controller;\n    import org.springframework.ui.Model;\n    import org.springframework.web.bind.annotation.GetMapping;\n    import org.springframework.web.bind.annotation.PostMapping;\n\n    @Controller\n    public class AuthController {\n        @Autowired\n        private UserService userService;\n\n        @GetMapping(\"\/register\")\n        public String showRegistrationForm(Model model) {\n            model.addAttribute(\"user\", new User());\n            return \"register\";\n        }\n\n        @PostMapping(\"\/register\")\n        public String registerUser(User user) {\n            userService.registerNewUser(user);\n            return \"redirect:\/login\";\n        }\n\n        @GetMapping(\"\/login\")\n        public String login() {\n            return \"login\";\n        }\n    }\n    <\/pre>\n<h2>8. Creating Login\/Logout Pages<\/h2>\n<p>Now we will create the login and registration pages. Create <code>login.html<\/code> and <code>register.html<\/code> files under the <code>src\/main\/resources\/templates<\/code> folder.<\/p>\n<h3>8.1 register.html<\/h3>\n<pre>\n    &lt;!DOCTYPE html&gt;\n    &lt;html lang=\"en\"&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"UTF-8\"&gt;\n        &lt;title&gt;User Registration&lt;\/title&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n        &lt;h1&gt;User Registration&lt;\/h1&gt;\n        &lt;form action=\"\/register\" method=\"post\"&gt;\n            &lt;label&gt;Username: &lt;\/label&gt;&lt;input type=\"text\" name=\"username\"&gt;&lt;br&gt;\n            &lt;label&gt;Password: &lt;\/label&gt;&lt;input type=\"password\" name=\"password\"&gt;&lt;br&gt;\n            &lt;label&gt;Email: &lt;\/label&gt;&lt;input type=\"email\" name=\"email\"&gt;&lt;br&gt;\n            &lt;input type=\"submit\" value=\"Register\"&gt;\n        &lt;\/form&gt;\n    &lt;\/body&gt;\n    &lt;\/html&gt;\n    <\/pre>\n<h3>8.2 login.html<\/h3>\n<pre>\n    &lt;!DOCTYPE html&gt;\n    &lt;html lang=\"en\"&gt;\n    &lt;head&gt;\n        &lt;meta charset=\"UTF-8\"&gt;\n        &lt;title&gt;Login&lt;\/title&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n        &lt;h1&gt;Login&lt;\/h1&gt;\n        &lt;form action=\"\/login\" method=\"post\"&gt;\n            &lt;label&gt;Username: &lt;\/label&gt;&lt;input type=\"text\" name=\"username\"&gt;&lt;br&gt;\n            &lt;label&gt;Password: &lt;\/label&gt;&lt;input type=\"password\" name=\"password\"&gt;&lt;br&gt;\n            &lt;input type=\"submit\" value=\"Login\"&gt;\n        &lt;\/form&gt;\n    &lt;\/body&gt;\n    &lt;\/html&gt;\n    <\/pre>\n<h2>9. Running the Application<\/h2>\n<p>Now that all configurations are complete, enter the following command in the terminal to run the application.<\/p>\n<pre>\n    mvn spring-boot:run\n    <\/pre>\n<p>Open your browser and navigate to <code>http:\/\/localhost:8080\/register<\/code> to proceed with the registration. You can then access the application by logging in.<\/p>\n<h2>10. Conclusion and Next Steps<\/h2>\n<p>In this course, we learned how to build a backend application using Spring Boot and implement basic login and registration functionalities with Spring Security. Now you can build upon this basic structure to add various features such as API token-based authentication and OAuth2 integration.<\/p>\n<h3>Suggested Next Steps<\/h3>\n<ul>\n<li>Implement API REST<\/li>\n<li>Add JWT (JSON Web Token) based authentication<\/li>\n<li>Enhance authentication with OAuth2<\/li>\n<li>Create a complete application with frontend integration<\/li>\n<\/ul>\n<p>Make great use of what you learned in this course to create fantastic projects!<\/p>\n<footer>\n<p>Author: [Your Name]<\/p>\n<p>Published Date: [Publish Date]<\/p>\n<\/footer>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This course covers the basics of backend development using Spring Boot and explains how to implement login, logout, and user registration functionalities through Spring Security. 1. What is Spring Boot? Spring Boot is an application framework based on the Spring Framework that helps developers set up and run Spring applications more easily. It minimizes the &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33209\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[131],"tags":[],"class_list":["post-33209","post","type-post","status-publish","format-standard","hentry","category-spring-boot-backend-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/33209\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"This course covers the basics of backend development using Spring Boot and explains how to implement login, logout, and user registration functionalities through Spring Security. 1. What is Spring Boot? Spring Boot is an application framework based on the Spring Framework that helps developers set up and run Spring applications more easily. It minimizes the &hellip; \ub354 \ubcf4\uae30 &quot;Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33209\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:14:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:28:27+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/33209\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33209\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies\",\"datePublished\":\"2024-11-01T09:14:34+00:00\",\"dateModified\":\"2024-11-01T11:28:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33209\/\"},\"wordCount\":544,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Spring Boot backend development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33209\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33209\/\",\"name\":\"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:14:34+00:00\",\"dateModified\":\"2024-11-01T11:28:27+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33209\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33209\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33209\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/33209\/","og_locale":"ko_KR","og_type":"article","og_title":"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"This course covers the basics of backend development using Spring Boot and explains how to implement login, logout, and user registration functionalities through Spring Security. 1. What is Spring Boot? Spring Boot is an application framework based on the Spring Framework that helps developers set up and run Spring applications more easily. It minimizes the &hellip; \ub354 \ubcf4\uae30 \"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies\"","og_url":"https:\/\/atmokpo.com\/w\/33209\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:14:34+00:00","article_modified_time":"2024-11-01T11:28:27+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"6\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/33209\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33209\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies","datePublished":"2024-11-01T09:14:34+00:00","dateModified":"2024-11-01T11:28:27+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33209\/"},"wordCount":544,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Spring Boot backend development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33209\/","url":"https:\/\/atmokpo.com\/w\/33209\/","name":"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:14:34+00:00","dateModified":"2024-11-01T11:28:27+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33209\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33209\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33209\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Spring Boot Backend Development Course, Implementing Login and Logout with Spring Security, User Registration, Adding Dependencies"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=33209"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33209\/revisions"}],"predecessor-version":[{"id":33210,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33209\/revisions\/33210"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}