Create default users on start

This commit is contained in:
Anton Romanov 2025-01-28 19:08:05 +04:00
parent 595eb12607
commit 7320f287c6
3 changed files with 25 additions and 7 deletions

View File

@ -24,5 +24,8 @@ public class SeminarApplication {
public void doSomethingAfterStartup() { public void doSomethingAfterStartup() {
System.out.println("hello world, I have just started up"); System.out.println("hello world, I have just started up");
userService.initDefaultAdmin(); userService.initDefaultAdmin();
userService.initDefaultAspirant();
userService.initDefaultHead();
userService.initDefaultManager();
} }
} }

View File

@ -64,11 +64,26 @@ public class UserService implements UserDetailsService {
return user; return user;
} }
private void createDefaultUser(String login, String userRole) {
if (getUserByLogin(login) == null) {
UserRole role = userRoleRepository.save(new UserRole(userRole.toString()));
createUser(new User(login, login.equals("admin") ? adminPassword : login, Set.of(role)));
}
}
public void initDefaultAdmin() { public void initDefaultAdmin() {
String adminLogin = "admin"; createDefaultUser("admin", UserRoleConstants.ADMIN);
if (getUserByLogin(adminLogin) == null) { }
UserRole adminRole = userRoleRepository.save(new UserRole(UserRoleConstants.ADMIN));
createUser(new User(adminLogin, adminPassword, Set.of(adminRole))); public void initDefaultAspirant() {
} createDefaultUser("aspirant", UserRoleConstants.ASPIRANT);
}
public void initDefaultManager() {
createDefaultUser("manager", UserRoleConstants.MANAGER);
}
public void initDefaultHead() {
createDefaultUser("head", UserRoleConstants.HEAD);
} }
} }

View File

@ -32,7 +32,7 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="/docs">Документы</a> <a class="nav-link" href="/docs">Документы</a>
</li> </li>
<li class="nav-item" sec:authorize="hasRole('ROLE_ASPIR')"> <li class="nav-item" sec:authorize="hasRole('ROLE_ASPIRANT')">
<a class="nav-link" href="/reports">Аспиранту</a> <a class="nav-link" href="/reports">Аспиранту</a>
</li> </li>
<li class="nav-item" sec:authorize="hasRole('ROLE_MANAGER')"> <li class="nav-item" sec:authorize="hasRole('ROLE_MANAGER')">
@ -47,7 +47,7 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_ADMIN')">Личный кабинет <a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_ADMIN')">Личный кабинет
администратора</a> администратора</a>
<a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_ASPIR')">Личный кабинет <a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_ASPIRANT')">Личный кабинет
аспиранта</a> аспиранта</a>
<a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_MANAGER')">Личный кабинет <a class="nav-link disabled" href="#" sec:authorize="hasRole('ROLE_MANAGER')">Личный кабинет
руководителя аспиранта</a> руководителя аспиранта</a>