Java 虚拟环境中通过测试AD的Jaas Kerberos身份验证

Java 虚拟环境中通过测试AD的Jaas Kerberos身份验证,java,oracle,kerberos,jaas,Java,Oracle,Kerberos,Jaas,我在甲骨文公司试用。我唯一要更改的是logincontext try { lc = new LoginContext("SampleConfig", new TextCallbackHandler()); } 我的jaas.conf文件如下所示 SampleConfig { com.sun.security.auth.module.Krb5LoginModule required client=true useTicketCache=false; }; 我将

我在甲骨文公司试用。我唯一要更改的是logincontext

  try {
      lc = new LoginContext("SampleConfig", new TextCallbackHandler());
  } 
我的
jaas.conf
文件如下所示

SampleConfig {
   com.sun.security.auth.module.Krb5LoginModule required client=true    useTicketCache=false;
};
我将conf文件与类放在一起。但是,当我运行它时,它会给我这个错误

C:\AnotherDirectory> java -Djava.security.krb5.realm=corp.example.com -Djava.s
ecurity.krb5.kdc=corp.example.com -Djava.security.auth.login.config=jaas.conf JaasAcn

        at JaasAcn.main(JaasAcn.java:37)
Caused by: java.net.UnknownHostException: corp.example.com
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
        at java.net.InetAddress$1.lookupAllHostAddr(Unknown Source)
        at java.net.InetAddress.getAddressesFromNameService(Unknown Source)
        at java.net.InetAddress.getAllByName0(Unknown Source)
        at java.net.InetAddress.getAllByName(Unknown Source)
        at java.net.InetAddress.getAllByName(Unknown Source)
        at java.net.InetAddress.getByName(Unknown Source)
        at sun.security.krb5.internal.UDPClient.<init>(Unknown Source)
        at sun.security.krb5.internal.NetClient.getInstance(Unknown Source)
        at sun.security.krb5.KdcComm$KdcCommunication.run(Unknown Source)
        at sun.security.krb5.KdcComm$KdcCommunication.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.security.krb5.KdcComm.send(Unknown Source)
        at sun.security.krb5.KdcComm.send(Unknown Source)
        at sun.security.krb5.KdcComm.send(Unknown Source)
        at sun.security.krb5.KrbAsReqBuilder.send(Unknown Source)
        at sun.security.krb5.KrbAsReqBuilder.action(Unknown Source) 
如何解决这个问题?我猜这是一个广告配置问题,而不是JAas?谢谢

C:\AnotherDirectory>java -Djava.security.krb5.realm=192.168.56.101 -Djava.secu
rity.krb5.kdc=192.168.56.101 -Djava.security.auth.login.config=jaas.config JaasAcn
Kerberos username [Administrator]: dorothy
Kerberos password for dorothy:
javax.security.auth.login.LoginException: null (68)
        at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Unknown Source)
        at com.sun.security.auth.module.Krb5LoginModule.login(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at javax.security.auth.login.LoginContext.invoke(Unknown Source)
        at javax.security.auth.login.LoginContext.access$000(Unknown Source)
        at javax.security.auth.login.LoginContext$4.run(Unknown Source)
        at javax.security.auth.login.LoginContext$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.login.LoginContext.invokePriv(Unknown Source)
        at javax.security.auth.login.LoginContext.login(Unknown Source)
        at JaasAcn.main(JaasAcn.java:37)
Caused by: KrbException: null (68)
        at sun.security.krb5.KrbAsRep.<init>(Unknown Source)
        at sun.security.krb5.KrbAsReqBuilder.send(Unknown Source)
        at sun.security.krb5.KrbAsReqBuilder.action(Unknown Source)
        ... 14 more
Caused by: KrbException: Identifier doesn't match expected value (906)
        at sun.security.krb5.internal.KDCRep.init(Unknown Source)
        at sun.security.krb5.internal.ASRep.init(Unknown Source)
        at sun.security.krb5.internal.ASRep.<init>(Unknown Source)
        ... 17 more
class sun.security.krb5.KrbException
C:\> ksetup
default realm = corp.example.com (NT Domain)
No user mappings defined.