Browse Source

update

pull/2282/head
gebo 2 months ago
parent
commit
ae63e240b0
  1. 16
      samples/demo-authorizationserver/src/main/java/sample/config/DefaultSecurityConfig.java
  2. 26
      samples/demo-authorizationserver/src/main/java/sample/service/JdbcUserService.java
  3. 17
      samples/demo-authorizationserver/src/main/resources/sql/users.sql

16
samples/demo-authorizationserver/src/main/java/sample/config/DefaultSecurityConfig.java

@ -21,10 +21,6 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity; @@ -21,10 +21,6 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.core.session.SessionRegistry;
import org.springframework.security.core.session.SessionRegistryImpl;
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.provisioning.InMemoryUserDetailsManager;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.session.HttpSessionEventPublisher;
@ -55,18 +51,6 @@ public class DefaultSecurityConfig { @@ -55,18 +51,6 @@ public class DefaultSecurityConfig {
}
// @formatter:on
// @formatter:off
@Bean
public UserDetailsService users() {
UserDetails user = User.withDefaultPasswordEncoder()
.username("user1")
.password("password")
.roles("USER")
.build();
return new InMemoryUserDetailsManager(user);
}
// @formatter:on
@Bean
public SessionRegistry sessionRegistry() {
return new SessionRegistryImpl();

26
samples/demo-authorizationserver/src/main/java/sample/service/JdbcUserService.java

@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
package sample.service;
import javax.sql.DataSource;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.provisioning.JdbcUserDetailsManager;
import org.springframework.stereotype.Service;
@Service
public class JdbcUserService extends JdbcUserDetailsManager {
public JdbcUserService(DataSource dataSource) {
super(dataSource);
// NOTE: The 'users' and 'authorities' tables must exist in the database.
// if (!userExists("user1")) {
// UserDetails user = User.withDefaultPasswordEncoder()
// .username("user1")
// .password("password")
// .roles("USER")
// .build();
// createUser(user);
// }
}
}

17
samples/demo-authorizationserver/src/main/resources/sql/users.sql

@ -0,0 +1,17 @@ @@ -0,0 +1,17 @@
-- ユーザー情報を格納するテーブル
CREATE TABLE users (
username VARCHAR(50) NOT NULL PRIMARY KEY,
password VARCHAR(500) NOT NULL,
enabled BOOLEAN NOT NULL
);
-- ユーザーに紐づく権限(ROLE_USER, ROLE_ADMINなど)を格納するテーブル
CREATE TABLE authorities (
username VARCHAR(50) NOT NULL,
authority VARCHAR(50) NOT NULL,
CONSTRAINT fk_authorities_users FOREIGN KEY (username) REFERENCES users(username)
);
-- 同じユーザーに同じ権限を重複して持たせないためのユニークインデックス
CREATE UNIQUE INDEX ix_auth_username ON authorities (username, authority);
Loading…
Cancel
Save