From 6012934a860d7fb30b0a103b4282ee388f9b7d46 Mon Sep 17 00:00:00 2001 From: Pavel_Sorokin Date: Fri, 5 May 2023 11:48:24 +0400 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=8E=D0=B7=D0=B5=D1=80=D1=83=20=D0=BF=D0=BE=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D1=8B=D0=B5=20=D0=BD=D1=83=D0=B6?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=B2=D1=80=D0=BE=D0=B4=D0=B5=20=D0=BD=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D0=B3=D0=BE=20=D0=BD=D0=B5=20=D1=81=D0=BB=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BB=D0=BE=D1=81=D1=8C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data.trace.db | 452 ------------------ .../sbapp/User/controller/UserController.java | 12 +- .../User/controller/UserMvcController.java | 4 +- .../ru/ulstu/is/sbapp/User/model/User.java | 29 +- .../ru/ulstu/is/sbapp/User/model/UserDto.java | 19 +- .../ulstu/is/sbapp/User/model/UserRole.java | 20 + .../is/sbapp/User/service/UserService.java | 11 +- src/main/resources/templates/user-edit.html | 4 + src/main/resources/templates/user.html | 2 + 9 files changed, 88 insertions(+), 465 deletions(-) delete mode 100644 data.trace.db create mode 100644 src/main/java/ru/ulstu/is/sbapp/User/model/UserRole.java diff --git a/data.trace.db b/data.trace.db deleted file mode 100644 index b4a8ad1..0000000 --- a/data.trace.db +++ /dev/null @@ -1,452 +0,0 @@ -2023-03-27 16:52:44 jdbc[3]: exception -org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "create table [*]user (id bigint not null, email varchar(255), first_name varchar(255), last_name varchar(255), primary key (id))"; ожидалось "identifier" -Syntax error in SQL statement "create table [*]user (id bigint not null, email varchar(255), first_name varchar(255), last_name varchar(255), primary key (id))"; expected "identifier"; SQL statement: -create table user (id bigint not null, email varchar(255), first_name varchar(255), last_name varchar(255), primary key (id)) [42001-210] -2023-03-27 16:52:44 jdbc[3]: exception -org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "alter table if exists comment add constraint FK8kcum44fvpupyw6f5baccx25c foreign key (user_id) references [*]user"; ожидалось "identifier" -Syntax error in SQL statement "alter table if exists comment add constraint FK8kcum44fvpupyw6f5baccx25c foreign key (user_id) references [*]user"; expected "identifier"; SQL statement: -alter table if exists comment add constraint FK8kcum44fvpupyw6f5baccx25c foreign key (user_id) references user [42001-210] -2023-03-27 16:52:44 jdbc[3]: exception -org.h2.jdbc.JdbcSQLSyntaxErrorException: Синтаксическая ошибка в выражении SQL "alter table if exists post add constraint FK72mt33dhhs48hf9gcqrq4fxte foreign key (user_id) references [*]user"; ожидалось "identifier" -Syntax error in SQL statement "alter table if exists post add constraint FK72mt33dhhs48hf9gcqrq4fxte foreign key (user_id) references [*]user"; expected "identifier"; SQL statement: -alter table if exists post add constraint FK72mt33dhhs48hf9gcqrq4fxte foreign key (user_id) references user [42001-210] -2023-03-27 21:45:28 database: wrong user or password; user: "SA" -org.h2.message.DbException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.get(DbException.java:227) - at org.h2.message.DbException.get(DbException.java:203) - at org.h2.message.DbException.get(DbException.java:192) - at org.h2.engine.Engine.openSession(Engine.java:154) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288) - at org.h2.server.web.WebServer.getConnection(WebServer.java:807) - at org.h2.server.web.WebApp.login(WebApp.java:1033) - at org.h2.server.web.WebApp.process(WebApp.java:226) - at org.h2.server.web.WebApp.processRequest(WebApp.java:176) - at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) - at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:731) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) - at java.base/java.lang.Thread.run(Thread.java:833) -Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 50 more -2023-03-27 21:45:50 database: wrong user or password; user: "SA" -org.h2.message.DbException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.get(DbException.java:227) - at org.h2.message.DbException.get(DbException.java:203) - at org.h2.message.DbException.get(DbException.java:192) - at org.h2.engine.Engine.openSession(Engine.java:154) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288) - at org.h2.server.web.WebServer.getConnection(WebServer.java:807) - at org.h2.server.web.WebApp.login(WebApp.java:1033) - at org.h2.server.web.WebApp.process(WebApp.java:226) - at org.h2.server.web.WebApp.processRequest(WebApp.java:176) - at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) - at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:731) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) - at java.base/java.lang.Thread.run(Thread.java:833) -Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 50 more -2023-04-10 17:11:04 database: wrong user or password; user: "SA" -org.h2.message.DbException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.get(DbException.java:227) - at org.h2.message.DbException.get(DbException.java:203) - at org.h2.message.DbException.get(DbException.java:192) - at org.h2.engine.Engine.openSession(Engine.java:154) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288) - at org.h2.server.web.WebServer.getConnection(WebServer.java:807) - at org.h2.server.web.WebApp.login(WebApp.java:1033) - at org.h2.server.web.WebApp.process(WebApp.java:226) - at org.h2.server.web.WebApp.processRequest(WebApp.java:176) - at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) - at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:731) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) - at java.base/java.lang.Thread.run(Thread.java:833) -Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 50 more -2023-04-21 13:55:26 database: wrong user or password; user: "SA" -org.h2.message.DbException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.get(DbException.java:227) - at org.h2.message.DbException.get(DbException.java:203) - at org.h2.message.DbException.get(DbException.java:192) - at org.h2.engine.Engine.openSession(Engine.java:154) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288) - at org.h2.server.web.WebServer.getConnection(WebServer.java:807) - at org.h2.server.web.WebApp.login(WebApp.java:1033) - at org.h2.server.web.WebApp.process(WebApp.java:226) - at org.h2.server.web.WebApp.processRequest(WebApp.java:176) - at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) - at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:731) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) - at java.base/java.lang.Thread.run(Thread.java:833) -Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 53 more -2023-04-22 11:20:00 jdbc[13]: exception -org.h2.jdbc.JdbcSQLDataException: Невозможно преобразование строки в тип "TIMESTAMP" -Cannot parse "TIMESTAMP" constant ; SQL statement: -INSERT INTO "PUBLIC"."COMMENT"("ID","DATE_OF_ADD","TEXT","POST_ID","USER_ID")VALUES(?,?,?,?,?) [22007-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:525) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.value.ValueTimestamp.parse(ValueTimestamp.java:88) - at org.h2.value.Value.convertToTimestamp(Value.java:1980) - at org.h2.value.Value.convertTo(Value.java:1153) - at org.h2.value.Value.convertForAssignTo(Value.java:1092) - at org.h2.table.Column.validateConvertUpdateSequence(Column.java:369) - at org.h2.table.Table.convertInsertRow(Table.java:931) - at org.h2.command.dml.Insert.insertRows(Insert.java:167) - at org.h2.command.dml.Insert.update(Insert.java:135) - at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:61) - at org.h2.command.CommandContainer.update(CommandContainer.java:174) - at org.h2.command.Command.executeUpdate(Command.java:252) - at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:209) - at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:169) - at org.h2.result.UpdatableRow.insertRow(UpdatableRow.java:334) - at org.h2.jdbc.JdbcResultSet.insertRow(JdbcResultSet.java:3335) - at org.h2.server.web.WebApp.editResult(WebApp.java:1159) - at org.h2.server.web.WebApp.process(WebApp.java:250) - at org.h2.server.web.WebApp.processRequest(WebApp.java:176) - at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) - at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:731) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) - at java.base/java.lang.Thread.run(Thread.java:833) -Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 - at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48) - at java.base/java.lang.String.charAt(String.java:1513) - at org.h2.util.DateTimeUtils.parseDateValue(DateTimeUtils.java:166) - at org.h2.util.DateTimeUtils.parseTimestamp(DateTimeUtils.java:338) - at org.h2.value.ValueTimestamp.parse(ValueTimestamp.java:86) - ... 57 more -2023-04-22 11:20:00 jdbc[13]: exception -org.h2.jdbc.JdbcSQLDataException: Невозможно преобразование строки в тип "TIMESTAMP" -Cannot parse "TIMESTAMP" constant ; SQL statement: -INSERT INTO "PUBLIC"."COMMENT"("ID","DATE_OF_ADD","TEXT","POST_ID","USER_ID")VALUES(?,?,?,?,?) [22007-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:525) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - at org.h2.message.DbException.get(DbException.java:216) - at org.h2.value.ValueTimestamp.parse(ValueTimestamp.java:88) - at org.h2.value.Value.convertToTimestamp(Value.java:1980) - at org.h2.value.Value.convertTo(Value.java:1153) - at org.h2.value.Value.convertForAssignTo(Value.java:1092) - at org.h2.table.Column.validateConvertUpdateSequence(Column.java:369) - at org.h2.table.Table.convertInsertRow(Table.java:931) - at org.h2.command.dml.Insert.insertRows(Insert.java:167) - at org.h2.command.dml.Insert.update(Insert.java:135) - at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:61) - at org.h2.command.CommandContainer.update(CommandContainer.java:174) - at org.h2.command.Command.executeUpdate(Command.java:252) - at org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:209) - at org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:169) - at org.h2.result.UpdatableRow.insertRow(UpdatableRow.java:334) - at org.h2.jdbc.JdbcResultSet.insertRow(JdbcResultSet.java:3335) - at org.h2.server.web.WebApp.editResult(WebApp.java:1159) - at org.h2.server.web.WebApp.process(WebApp.java:250) - at org.h2.server.web.WebApp.processRequest(WebApp.java:176) - at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) - at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:731) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) - at java.base/java.lang.Thread.run(Thread.java:833) -Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0 - at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:48) - at java.base/java.lang.String.charAt(String.java:1513) - at org.h2.util.DateTimeUtils.parseDateValue(DateTimeUtils.java:166) - at org.h2.util.DateTimeUtils.parseTimestamp(DateTimeUtils.java:338) - at org.h2.value.ValueTimestamp.parse(ValueTimestamp.java:86) - ... 57 more -2023-04-22 12:15:44 database: wrong user or password; user: "SA" -org.h2.message.DbException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.get(DbException.java:227) - at org.h2.message.DbException.get(DbException.java:203) - at org.h2.message.DbException.get(DbException.java:192) - at org.h2.engine.Engine.openSession(Engine.java:154) - at org.h2.engine.Engine.openSession(Engine.java:222) - at org.h2.engine.Engine.createSession(Engine.java:201) - at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:338) - at org.h2.jdbc.JdbcConnection.(JdbcConnection.java:122) - at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:288) - at org.h2.server.web.WebServer.getConnection(WebServer.java:807) - at org.h2.server.web.WebApp.login(WebApp.java:1033) - at org.h2.server.web.WebApp.process(WebApp.java:226) - at org.h2.server.web.WebApp.processRequest(WebApp.java:176) - at org.h2.server.web.JakartaWebServlet.doGet(JakartaWebServlet.java:129) - at org.h2.server.web.JakartaWebServlet.doPost(JakartaWebServlet.java:166) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:731) - at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:814) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:223) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:66) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) - at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:185) - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:158) - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:177) - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) - at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:119) - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) - at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:400) - at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) - at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:859) - at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1734) - at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) - at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) - at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) - at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) - at java.base/java.lang.Thread.run(Thread.java:833) -Caused by: org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Неверное имя пользователя или пароль -Wrong user name or password [28000-210] - at org.h2.message.DbException.getJdbcSQLException(DbException.java:529) - at org.h2.message.DbException.getJdbcSQLException(DbException.java:496) - ... 53 more diff --git a/src/main/java/ru/ulstu/is/sbapp/User/controller/UserController.java b/src/main/java/ru/ulstu/is/sbapp/User/controller/UserController.java index befae19..1d8ee98 100644 --- a/src/main/java/ru/ulstu/is/sbapp/User/controller/UserController.java +++ b/src/main/java/ru/ulstu/is/sbapp/User/controller/UserController.java @@ -34,17 +34,19 @@ public class UserController { } @PostMapping public UserDto createUser(@RequestParam("firstName") String firstName, - @RequestParam("lastName") String lastname, - @RequestParam("email") String email) { - return new UserDto(userService.addUser(firstName, lastname,email)); + @RequestParam("lastName") String lastname, + @RequestParam("email") String email, + @RequestParam("password") String password){ + return new UserDto(userService.addUser(firstName, lastname,email,password)); } @PutMapping("/{id}") public UserDto updateClient(@PathVariable Long id, @RequestParam("firstName") String firstName, @RequestParam("lastName") String lastname, - @RequestParam("email") String email){ - return new UserDto(userService.updateUser(id, firstName, lastname,email)); + @RequestParam("email") String email, + @RequestParam("password") String password){ + return new UserDto(userService.updateUser(id, firstName, lastname,email,password)); } @PostMapping("/{id}/Post") public void addPost(@PathVariable Long id, diff --git a/src/main/java/ru/ulstu/is/sbapp/User/controller/UserMvcController.java b/src/main/java/ru/ulstu/is/sbapp/User/controller/UserMvcController.java index 6ab4a09..511570f 100644 --- a/src/main/java/ru/ulstu/is/sbapp/User/controller/UserMvcController.java +++ b/src/main/java/ru/ulstu/is/sbapp/User/controller/UserMvcController.java @@ -47,9 +47,9 @@ public class UserMvcController { return "user-edit"; } if (id == null || id <= 0) { - userService.addUser(userDto.getFirstName(), userDto.getLastName(),userDto.getEmail()); + userService.addUser(userDto.getFirstName(), userDto.getLastName(),userDto.getEmail(),userDto.getPassword()); } else { - userService.updateUser(id, userDto.getFirstName(), userDto.getLastName(),userDto.getEmail()); + userService.updateUser(id, userDto.getFirstName(), userDto.getLastName(),userDto.getEmail(),userDto.getPassword()); } return "redirect:/user"; } diff --git a/src/main/java/ru/ulstu/is/sbapp/User/model/User.java b/src/main/java/ru/ulstu/is/sbapp/User/model/User.java index 80919bf..a74f26b 100644 --- a/src/main/java/ru/ulstu/is/sbapp/User/model/User.java +++ b/src/main/java/ru/ulstu/is/sbapp/User/model/User.java @@ -2,6 +2,7 @@ package ru.ulstu.is.sbapp.User.model; import jakarta.persistence.*; import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.Size; import ru.ulstu.is.sbapp.Comment.model.Comment; import ru.ulstu.is.sbapp.Post.model.Post; @@ -21,9 +22,17 @@ public class User { @NotBlank(message = "lastName cannot be null") private String lastName; + @Column(nullable = false, unique = true, length = 64) @NotBlank(message = "email cannot be null") private String email; + @Column(nullable = false, length = 64) + @NotBlank + @Size(min = 6, max = 64) + private String password; + + private UserRole role; + @OneToMany(mappedBy ="user",cascade = {CascadeType.MERGE,CascadeType.REMOVE},fetch = FetchType.EAGER) private List posts =new ArrayList<>(); @@ -32,11 +41,15 @@ public class User { public User() { } - - public User(String firstName, String lastName, String email) { + public User(String firstName,String lastName,String email, String password) { + this(firstName,lastName,email, password, UserRole.USER); + } + public User(String firstName, String lastName, String email,String password,UserRole role) { this.firstName = firstName; this.lastName = lastName; this.email=email; + this.password=password; + this.role=role; } @@ -80,6 +93,17 @@ public class User { this.email=email; } + public String getPassword() + { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + public UserRole getRole() { + return role; + } @Override public boolean equals(Object o) { if (this == o) return true; @@ -100,6 +124,7 @@ public class User { ", firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + ", email='" + email + '\'' + + ", password='" + password + '\'' + ", posts=" + posts +'\''+ '}'; } diff --git a/src/main/java/ru/ulstu/is/sbapp/User/model/UserDto.java b/src/main/java/ru/ulstu/is/sbapp/User/model/UserDto.java index 20b9ba4..d9c256a 100644 --- a/src/main/java/ru/ulstu/is/sbapp/User/model/UserDto.java +++ b/src/main/java/ru/ulstu/is/sbapp/User/model/UserDto.java @@ -16,6 +16,10 @@ public class UserDto { private String email; + private UserRole role; + + private String password; + private List posts = new ArrayList<>(); private List comments = new ArrayList<>(); @@ -26,6 +30,8 @@ public class UserDto { this.firstName = user.getFirstName(); this.lastName = user.getLastName(); this.email= user.getEmail(); + this.role=user.getRole(); + this.password=user.getPassword(); } public Long getId() { return id; @@ -38,6 +44,15 @@ public class UserDto { public String getLastName() { return lastName; } + + public String getPassword(){ + return password; + } + + public void setPassword(String password) { + this.password = password; + } + public List getPosts() { return posts; @@ -47,7 +62,9 @@ public class UserDto { return comments; } - + public UserRole getRole() { + return role; + } public String getEmail() { return email; diff --git a/src/main/java/ru/ulstu/is/sbapp/User/model/UserRole.java b/src/main/java/ru/ulstu/is/sbapp/User/model/UserRole.java new file mode 100644 index 0000000..b27cb98 --- /dev/null +++ b/src/main/java/ru/ulstu/is/sbapp/User/model/UserRole.java @@ -0,0 +1,20 @@ +package ru.ulstu.is.sbapp.User.model; + +import org.springframework.security.core.GrantedAuthority; + +public enum UserRole implements GrantedAuthority { + ADMIN, + USER; + + private static final String PREFIX = "ROLE_"; + + @Override + public String getAuthority() { + return PREFIX + this.name(); + } + + public static final class AsString { + public static final String ADMIN = PREFIX + "ADMIN"; + public static final String USER = PREFIX + "USER"; + } +} diff --git a/src/main/java/ru/ulstu/is/sbapp/User/service/UserService.java b/src/main/java/ru/ulstu/is/sbapp/User/service/UserService.java index ca7c0ad..98e3284 100644 --- a/src/main/java/ru/ulstu/is/sbapp/User/service/UserService.java +++ b/src/main/java/ru/ulstu/is/sbapp/User/service/UserService.java @@ -8,6 +8,7 @@ import ru.ulstu.is.sbapp.Post.model.Post; import ru.ulstu.is.sbapp.Post.repository.PostRepository; import ru.ulstu.is.sbapp.User.model.User; +import ru.ulstu.is.sbapp.User.model.UserRole; import ru.ulstu.is.sbapp.User.repository.UserRepository; import ru.ulstu.is.sbapp.Util.validation.ValidatorUtil; @@ -31,9 +32,12 @@ public class UserService { this.postRepository = postRepository; this.commentService = commentService; } + public User addUser(String firstName, String lastName, String email, String password) { + return addUser(firstName,lastName, email, password, UserRole.USER); + } @Transactional - public User addUser(String firstName, String lastName, String email) { - final User user = new User(firstName, lastName, email); + public User addUser(String firstName, String lastName, String email, String password, UserRole role) { + final User user = new User(firstName, lastName, email,password,role); validatorUtil.validate(user); return userRepository.save(user); } @@ -50,11 +54,12 @@ public class UserService { } @Transactional - public User updateUser(Long id, String firstName, String lastName, String email) { + public User updateUser(Long id, String firstName, String lastName, String email,String password) { final User currentUser = findUser(id); currentUser.setFirstName(firstName); currentUser.setLastName(lastName); currentUser.setEmail(email); + currentUser.setPassword(password); validatorUtil.validate(currentUser); return userRepository.save(currentUser); } diff --git a/src/main/resources/templates/user-edit.html b/src/main/resources/templates/user-edit.html index f0062a4..2a4e4b8 100644 --- a/src/main/resources/templates/user-edit.html +++ b/src/main/resources/templates/user-edit.html @@ -20,6 +20,10 @@ +
+ + +