Just another Zexro tape

Блог levi

Archive for Декабрь 2007

Кабельный превед

без комментариев

Оператор кабельного ТВ балуется. Снято на телефон.

TV-preved

Написано levi

2007, Декабрь 26 в 23:06

Опубликовано в funny

Отмечено как ,

Модуль аутентификации к Jetty

без комментариев

Для написания своего Login Module документация по JAAS в Jetty отправляет к соответствующим исходникам и намекает, что нужно всего лишь накодировать метод getUserInfo. Это чистая правда, но пока врубишься что к чему, Jetty наплюет не один килобайт логов с ошибками. Итак, что получилось:

package levi.ainv;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.mortbay.jetty.plus.jaas.spi.AbstractLoginModule;
import org.mortbay.jetty.plus.jaas.spi.UserInfo;
import org.mortbay.jetty.security.Credential;

public class DBLoginModule extends AbstractLoginModule {
   @Override
   public UserInfo getUserInfo(String userName) throws Exception {
       // в моем случае используется Singleton-объект Engine,
       // который хранит хэшмап с юзерами
       User user = Engine.itself().selectUser(userName);

       // на нет и суда нет
       if(user == null) {
           return null;
       }

       // заливаем роли в список
       List<String> roles = new ArrayList<String>();
       Iterator<Role> userRoles = user.getRoles().iterator();
       while(userRoles.hasNext()) {
           roles.add(userRoles.next().getName());
       }

       // ключевой момент - возвращаем имя юзера,
       // креденшл, изготовленный из простого строкового пароля, и список с ролями --
       // дальше родительский класс сам сравнит пароли и роли,
       // которые мы предоставили для заданного имени юзера и решит
       // пущать или не пущать
       return new UserInfo(userName, Credential.getCredential(user.getPassword()), roles);
   }
}

То есть, нужно из своего супер-секретного-хранилища юзерских аккаунтов, где бы оно ни было, вытащить аккаунт с заданным именем, запаковать в объект UserInfo и return его. Больше ни о чем думать не требуется.

Написано levi

2007, Декабрь 26 в 22:19

Опубликовано в programming

Отмечено как , ,

Кўсо живо

без комментариев

Поисковик по Unicode-символам убедительно доказал, что „устаревший“ иероглиф для японского слова «kŭso» (в перев. на англ. «shit») живее всех живых. Вуаля:

Вполне потребно им ругаться. К примеру:

— 糞! Опять netsplit!

Написано levi

2007, Декабрь 21 в 14:18

Опубликовано в funny

Отмечено как ,

Groovy

без комментариев

Еще один язык в очереди на изучение. Скриптовая java — это страшная сила.

Написано levi

2007, Декабрь 20 в 20:17

Опубликовано в programming

Отмечено как ,