春季安全澄清

时间:2015-10-15 11:24:45

标签: spring spring-security

我是Spring安全的新手,并学习了AuthenticationInterceptorAuthenticationManagerUserLoginService的概念。我知道如何实现userloginservice来检查系统中的有效用户。问题是我们有两种类型的用户1)专家2)用户及其凭证存储在两个不同的表中。 UserDetailsService的实现应检查两个表以进行身份​​验证并获取用户的详细信息。是否有可能使用多个身份验证提供程序并根据用户类型使用适当的身份验证提供程序?或者我是否必须使用相同的身份验证提供程序来查询两个表以找出用户的有效性?当必须在两个表中搜索用户时,处理此方案的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我认为你可以这样做:

private void someInitFunction(){      
    connection = factory.createConnection();
    connection.start();
    session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
    destination = session.createQueue(queueName);

    producer = session.createProducer(destination);
    producer.setDeliveryMode(DeliveryMode.PERSISTENT);
    }

private void onNewMessage(Serialized data){
    try{
        ObjectMessage message = createObjectMessage();
        message.setObject(data);
        producer.send(message);
       } catch(Exception e){ log.error("consumer not available");}
}