В настоящее время вы играете с liferay, и я хочу получить имя пользователя и пароль.Расшифровать пароли для лифтов
я могу получить имя пользователя и encrpyted пароль, так что мне нужно, чтобы расшифровать пароль - я думал, что я мог бы сделать это с помощью:
Company company;
try {
company = CompanyUtil.findByPrimaryKey(user.getCompanyId());
password = Encryptor.decrypt(company.getKeyObj(), password);
} catch (NoSuchCompanyException e) {
e.printStackTrace();
} catch (SystemException e) {
e.printStackTrace();
} catch (EncryptorException e) {
e.printStackTrace();
}
Это, однако, возвращается с encryptorexception, который:
com.liferay.util.EncryptorException: com.liferay.util.EncryptorException: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
Я также разместил на форумах liferay, но надеялся, что кто-то здесь также сможет помочь - я в настоящее время пытаюсь сделать это в форме крюка, может ли портлет быть лучшей идеей?
Большое спасибо
Я хочу получить его, чтобы я мог разобрать его на своих кеберосах для кеберизированного SSO. – odtf
В этом случае я думаю, что путь, который будет идти, будет забирать пароль, введенный пользователем, и аутентифицироваться на сервере Kerberos. Не пытайтесь расшифровывать эти пароли. Вы должны иметь возможность реализовать свой собственный класс AutoLogin и подключить его к цепочке аутентификации LR. (Как вы сказали, вы только начали играть с Liferay: у вас есть существующая инфраструктура, которая опирается на Kerberos? В противном случае я бы рекомендовал попробовать CAS или любую другую технологию SSO, которая уже поддерживается Liferay). – Dirk
yes У меня сейчас есть инфраструктура, которая опирается на Kerberos - я попытался и не смог попытаться получить пароль, введенный пользователем ... возможно, я делаю это неправильно - любые идеи/справочники для этого? приветствует вас за помощь – odtf