登录后为JMS Connection设置其他信息

时间:2016-03-14 13:34:25

标签: java jms jaas hornetq

目前,我使用LDAP通过JAAS执行身份验证(在HornetQ中配置)。 为了便于理解,我的工作流程如下:

  1. 使用用户名和密码
  2. 创建连接
      

    连接连接= cf.createConnection(“guest”,“guest”);

    1. login()函数 LoginModule中,在LDAP服务器中搜索该用户名和密码以进行身份​​验证。
    2.   /**
           * Step 2 : Get the ldap information from setting
           */
          String baseDN = (String) options.get("baseDN");
          String ldapURL = (String) options.get("ldapURL");
          String role = (String) options.get("role");
          String dn = "uid=" + user + "," + baseDN;
      
          /**
           * Step 3 : Initialize the context
           */
          Hashtable<String, String> environment = new Hashtable<String, String>();
          environment.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
          environment.put(Context.PROVIDER_URL, ldapURL);
          environment.put(Context.SECURITY_AUTHENTICATION, "simple");
          environment.put(Context.SECURITY_PRINCIPAL, dn);
          environment.put(Context.SECURITY_CREDENTIALS, password);
      
          authenticated = (new InitialDirContext(environment) != null);
      
      1. 有一个值调用userID, 我想回到客户端,以便获得此值
      2. 我尝试添加到Subject方法但没有效果。那你可以教我吗。

        1. 是否可以添加其他信息?
        2. 如何设置客户端连接可以检索的附加信息。
        3. 非常感谢你的帮助。

0 个答案:

没有答案