我是Spring Boot的新手,所以这可能是一个n00b问题。
我试图保存一个只有用户登录才能访问的字段(表号)。我不想将此保留在数据库中。
流程:-登录-选择表-为当前用户保存表号-做需要表号的操作-注销-忘记表号。
我尝试使用@Transactional来防止保存字段,并尝试使用SecurityContextHolder.getContext()。getAuthentication来获取当前用户。这样做,我可以保存该字段。如果以后使用相同的方法来获取当前用户并调用getTableNumber()方法,则不再设置该字段。
我意识到这可能是一件非常简单的事情,但是在理解如何访问模型而不访问数据库时遇到了一些问题。
如果需要更多说明或实际代码,请告诉我。
我想一个SessionScoped bean可以解决您的问题,但仅针对数字值,将所有bean一起创建可能不是可行的解决方案。因此,您可以将该值存储在用户http会话中,并在控制器方法中获得该会话对象。一旦从前端获取表号(据我所知),将其放在用户http会话中,就可以通过在控制器处理程序方法中从会话对象获取它并在销毁用户会话时将其用作数据的方式使用它。是表号,在这种情况下将自动销毁。
现在,如果您也想将其放在模型类中,则可以使用@Transient批注,持久层可以理解它不应保留在数据库中
参考:https : //docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/context/annotation/SessionScope.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句