所以我再次遇到一些AD和Kerberos问题.
好吧很酷,我从WWW-Authenticate标题中获得了一个kerberos令牌.现在我想针对AD验证此令牌,但我不知道如何.
我从GSSAPI中找到了一些东西,但没有看到将byte []作为Kerberos令牌或任何其他方式的函数或方法.
我正在运行Java EE Web应用程序.
我可以用这个令牌来获取用户,尤其是AD中的"此令牌和用户是否合法"?
编辑:
正如评论中所说,我真的很接近能够执行SSO.所以我会用你所拥有的东西来更新你们.
我有一台名为ping01的服务器和我的本地机器.作为用户mgmt在Tomcat上运行我有我的应用程序.所以我做了这一切:
在用户mgmt创建了SPN HTTP /ping01.cool.domain@COOL.DOMAIN.
krb5.conf的:
[libdefaults]
default_tkt_enctypes = aes256-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
default_tgs_enctypes = aes256-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
permitted_enctypes = aes256-cts rc4-hmac des3-cbc-sha1 des-cbc-md5 des-cbc-crc
default_realm = COOL.DOMAIN
kdc_timesync = 1
ccache_type = 5
forwardable = true
proxiable = true
[realms]
COOL.DOMAIN = {
kdc = kdc.cool.domain
admin_server = COOL.DOMAIN
default_domain = COOL.DOMAIN
}
[domain_realm]
cool.domain = COOL.DOMAIN
ping01 = COOL.DOMAIN
[login]
krb4_convert = true
krb4_get_tickets = false …Run Code Online (Sandbox Code Playgroud) 我正在使用自定义注释处理器并遇到一个新问题.我正在使用Gradle(3.1.1),当我将处理器生成的文件路径添加到sourceSet时,我会遇到奇怪的问题.
gradle clean build然后我执行了一个gradle build后来的构建得到了摧毁.我得到的堆栈跟踪是一个非常常见的令我惊讶的.
An exception has occurred in the compiler (1.8.0_91). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
java.lang.IllegalStateException: endPosTable already set
at com.sun.tools.javac.util.DiagnosticSource.setEndPosTable(DiagnosticSource.java:136)
at com.sun.tools.javac.util.Log.setEndPosTable(Log.java:350)
at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:667)
at com.sun.tools.javac.main.JavaCompiler.parseFiles(JavaCompiler.java:950)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.<init>(JavacProcessingEnvironment.java:892)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.next(JavacProcessingEnvironment.java:921)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:1187)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:1170)
at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:856)
at com.sun.tools.javac.main.Main.compile(Main.java:523)
at com.sun.tools.javac.main.Main.compile(Main.java:381)
at com.sun.tools.javac.main.Main.compile(Main.java:370)
at …Run Code Online (Sandbox Code Playgroud) 我必须为Unity3D构建一个aar模块,但是这样做的问题太多了。
我的工作环境
Unity3D:5.6.f1
Android Studio:2.3.3
构建工具:25.0.2
SDK 工具:24.4
我已经构建了一个 aar 文件并将其解压缩以删除classes.jarin libs,之后我将 aar 文件和 AndroidManifest.xml 复制到asset\Plugins\Android。android项目和unity项目的包名是一样的。
之后构建 APK 文件,导致以下异常:
IOException: Failed to Move File / Directory from 'Temp/StagingArea/android-libraries/app-debug/classes.jar' to 'Temp/StagingArea/android-libraries/app-debug/libs/classes.jar'.
UnityEditor.Android.PostProcessor.Tasks.ProcessAAR.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context)
UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (BuildPostProcessArgs args)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, System.String downloadWebplayerUrl, …Run Code Online (Sandbox Code Playgroud)