我正在将项目升级到Java 11.我意识到由于模块,一些内部软件包如sun.security.krb5.Config
和sun.security.krb5.KrbException
不再“可见”。下面是代码库如何使用这些软件包的几个例子:
Exception cause = ExceptionUtils.findCause(ne, KrbException.class);
LoginException le = (LoginException) ne.getCause();
if (le.getCause() instanceof KrbException) {
KrbException ke = (KrbException) le.getCause();
try {
sun.security.krb5.Config.refresh();
} catch (KrbException e) {
//log something
}
我读到这些内部包应该使用GSS API实现。
我一直在阅读GSS课程和教程,但在更换上面提到的内部软件包时找不到任何内容。
按原样获取LoginException。 JAAS应该从一切中抽象出来。你的代码很糟糕。