コード例 #1
0
 public UserRepresentation getUserById(String realm, String id) {
   KeycloakSession session = server.getKeycloakSessionFactory().createSession();
   try {
     return ModelToRepresentation.toRepresentation(session.getRealmByName(realm).getUserById(id));
   } finally {
     session.close();
   }
 }
コード例 #2
0
ファイル: AccountTest.java プロジェクト: niuhw/keycloak
 @Test
 public void testMigrationModel() {
   KeycloakSession keycloakSession = keycloakRule.startSession();
   Assert.assertEquals(
       keycloakSession.realms().getMigrationModel().getStoredVersion(),
       MigrationModel.LATEST_VERSION);
   keycloakSession.close();
 }
コード例 #3
0
  public void run() {
    final ArrayList<LoginEvent> events = new ArrayList<LoginEvent>(TRANSACTION_SIZE + 1);
    while (run) {
      try {
        LoginEvent take = queue.poll(2, TimeUnit.SECONDS);
        if (take == null) {
          continue;
        }
        try {
          events.add(take);
          queue.drainTo(events, TRANSACTION_SIZE);
          for (LoginEvent event : events) {
            if (event instanceof FailedLogin) {
              logFailure(event);
            } else {
              logSuccess(event);
            }
          }

          Collections.sort(
              events); // we sort to avoid deadlock due to ordered updates.  Maybe I'm overthinking
          // this.
          KeycloakSession session = factory.createSession();
          try {
            for (LoginEvent event : events) {
              if (event instanceof FailedLogin) {
                failure(session, event);
              }
            }
            session.getTransaction().commit();
          } catch (Exception e) {
            session.getTransaction().rollback();
            throw e;
          } finally {
            for (LoginEvent event : events) {
              if (event instanceof FailedLogin) {
                ((FailedLogin) event).latch.countDown();
              }
            }
            events.clear();
            session.close();
          }
        } catch (Exception e) {
          logger.error("Failed processing event", e);
        }
      } catch (InterruptedException e) {
        break;
      } finally {
        shutdownLatch.countDown();
      }
    }
  }
コード例 #4
0
  protected void setupKeycloak() {
    KeycloakSession session = server.getKeycloakSessionFactory().createSession();
    session.getTransaction().begin();

    try {
      RealmManager manager = new RealmManager(session);

      RealmModel adminstrationRealm = manager.getRealm(Config.getAdminRealm());

      configure(manager, adminstrationRealm);

      session.getTransaction().commit();
    } finally {
      session.close();
    }
  }