当前位置: 首页 > 面试题库 >

春季安全性-UserDetailsS​​ervice实现内的访问请求参数

汤念
2023-03-14
问题内容

我正在研究Java Spring MVC应用程序。我已经实现了UserDetailsService这样的接口:

@Component
@Transactional
public class SecurityDAO implements UserDetailsService{

     @Override
     public UserDetails loadUserByUsername(final String username) throws UsernameNotFoundException {
         ...
     }

     ....
}

我需要在loadUserByUsernamemethod 内找到用户登录URL (因为该项目有多个登录URL)。实际上,
我想在UserDetailsService实现内部访问请求参数。


问题答案:

只需将请求注入您的服务即可:

 @Autowired
 private HttpServletRequest request;

为了使其正常工作,您需要预先注册RequestContextListener,但是:

@Bean 
public RequestContextListener requestContextListener(){
    return new RequestContextListener();
}


 类似资料:
  • 问题内容: Servlet 2.4+ API允许我们在标记中使用标记,其值类似于拦截内部转发到其他资源的请求。对于一个servlet转发到另一个servlet而言,spring安全约束可以正常工作。 问题:* 安全过滤器似乎没有通过 JSF Action 拦截内部转发 * 当使用JSF操作(导航用例)时,JSF似乎将请求“转发”到目标视图(页面)。这导致该URL比该页面的实际URL落后一步。 这样

  • 问题内容: 我有一个Java应用程序,它从主类开始(不是Spring Boot应用程序)。而且我想使用Spring retry在连接丢失时重试。据我所知,我需要在Spring应用程序的主类之上添加@EnableRetry批注,然后在我的方法之上使用@Retryable进行重试。但是我认为这在非​​Spring应用程序中将不起作用。是否可以在简单的Java应用程序(而非spring应用程序)中使用s

  • 问题内容: 我正在使用Spring Security OAuth2 2.0.7.RELEASE。当我使用ORM连接到数据库并且默认JdbcUserDetailsManager使用jdbc时,我想实现自己的UserDetailsS​​ervice,即 此外,我修改了权限架构,如下所示: 然后,我像这样注入我的自定义userDetailsS​​ervice: 如果我使用Grant_type = pas

  • 问题内容: 我在 Spring的任务计划程序中安排 了几个 任务 : 如何访问 计划任务列表 并从应用程序上下文中检索 元信息 (例如下一次执行时间)? 问题答案: Spring中没有公共API可以执行此操作。 有关: Spring对象在运行时如何表示?

  • 问题内容: 我试图将Spring集成到具有数千个类的大型应用程序中,并且由于组件扫描,我在启动容器时遇到了巨大的延迟。 我已经将“基本软件包”中指定的目录数量缩小到最小,以减少扫描无关目录所浪费的时间,但是初始化的类路径扫描部分仍然需要大约1-2分钟。 那么,有没有一种方法可以优化扫描过程?我曾考虑过将候选类路径存储在文件中,然后使容器从文件中获取,而不是每次启动时都扫描类路径,但是我真的不知道从

  • 问题内容: 我正在将Ubuntu 14.04(Trusty Tahr)与Python 2.7.6版一起使用。今天,当我创建一个新尝试并尝试做时,出现了错误。 我通过 使用Requests包时 遵循 _SSLInsecurePlatform错误中的说明解决了此问题。 但是我想了解这两个命令和之间的实际区别是什么 。 为什么前者要另外安装三个软件包? 将代码推送到生产环境时,我需要注意什么事情? 他们