3 changed files with 43 additions and 16 deletions
@ -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);
|
||||
// }
|
||||
} |
||||
|
||||
} |
||||
@ -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…
Reference in new issue