在Spring Boot中,保存用户登录ID并全局可获取的企业级技术方案最优的方式是使用Spring Security框架。
Spring Security是一个功能强大的安全框架,可以用于保护Web应用程序和REST API。它提供了许多内置的安全特性,例如身份验证、授权、会话管理等,并且可以轻松地与Spring Boot集成。
在Spring Security中,可以通过实现UserDetailsService接口来自定义用户认证逻辑,并通过SecurityContextHolder类来获取当前用户的信息。可以将用户登录ID存储在SecurityContext中,这样就可以在整个应用程序中访问该值。
具体实现步骤如下:
1. 创建一个实现UserDetailsService接口的类,实现其中的loadUserByUsername方法,用于根据用户名加载用户信息。
2. 在Spring Security配置类中,通过调用userDetailsService方法将上一步创建的类注册为用户认证服务。
3. 在需要访问用户登录ID的地方,通过调用SecurityContextHolder.getContext().getAuthentication().getPrincipal()方法获取当前用户的信息,然后从中获取登录ID。
这种方案可以确保用户登录ID的安全性,并且可以在整个应用程序中方便地访问该值。同时,由于Spring Security已经被广泛应用于企业级应用程序中,因此这种方案也具有较高的可维护性和可扩展性。