我安装Kerberos for Windows在新设置的 Windows 8.1 机器上。
我编辑了目录中的krb5.ini文件,C:\ProgramData\MIT\Kerberos5如下所示:
[libdefaults]
default_realm = HSHADOOPCLUSTER.DE
[realms]
HSHADOOPCLUSTER.DE = {
admin_server = had-job.server.de
kdc = had-job.server.de
}
Run Code Online (Sandbox Code Playgroud)
重新启动后,我kinit -kt daniel.keytab daniel通过控制台对 Realm进行了身份验证。还通过用户和密码获取票证Kerberos Ticket Manager似乎工作正常,因为票证显示在 UI 中。
我想知道的是,当我调用 a 时,klist我会得到一个空列表,它说的是cached tickets: 0:
这对我来说似乎不正常,因为我的 Ubuntu 计算机klist在kinit.
我究竟做错了什么?还有一些配置要做吗?有时我读到一个ksetup工具,但我不知道这里哪些设置是必要的,哪些不是......
================================================== ==========
我设置后
[libdefaults]
...
default_ccache_name = FILE:C:/ProgramData/Kerberos/krb5cc_%{uid}
Run Code Online (Sandbox Code Playgroud)
在 my 中krb5.conf,kinit通过控制台和 Kerberos 票证管理器的命令在指定路径中创建一个文件。到目前为止,一切看起来都很好。
但是:该 …
我发现了HList/KList,它们非常酷.我有一个实际的用例,其中具有保守类型信息的异构类型和可变长度容器将非常有用(更多信息,请参见下面的背景).但是,我还没有将H/KList的用法理解为方法参数,在这里我被迫完全键入 - 注释参数或松散类型信息.H/KLists甚至可以用作参数,如果完整类型当然不知道?如何在不丢失类型信息的情况下引用H/KList?
"类型列表"可以用来指代异构和可变长度类型参数的元组吗?在这里它说:
... the types of the elements can be tracked separate from the actual element values. To do this we create an purely abstract type (it has no instances) which models a list of types, let's call it TList.
我玩了它,但还没有理解如何使用它作为参数的类型注释HList.
基本上,我想要这样的东西:
implicit def hlistToTypedLink[TL](a: HList[TL]):TypedLink[TL] = new TypedLink[TL](a.map(a:X => new TypedHandle[X]))
Run Code Online (Sandbox Code Playgroud)
其中TL指的是Type List,X指的是当前元素的类型.所以这里的HList应该映射到另一个类似于Tuple的容器TypedLink,由类型列表TL进行参数化.元素将被包装在另一个参数化容器TypedHandle中,使用当前类型X键入.
这可能吗?
我看到了Shapeless的'HList及其"统一"方法,但问题仍然存在:除了可变长度之外,我不知道如何在参数列表中引用它.
我的第二个希望是使用KList.它适用于我的情况,因为TypedHandle是具有相同构造函数的公共容器.随着KLIST它似乎更容易输入注释,根据apocalisp:
val m = List(1, 2, 3, 4) :^: List("str1", "str2") :^: KNil
Run Code Online (Sandbox Code Playgroud)
将是类型:
KCons[Int,java.lang.String :: HNil,List]
Run Code Online (Sandbox Code Playgroud)
但问题仍然存在:在方法定义中,我不知道它是否会是一个 …
我的域上运行着 HTTP 服务。但我对 HTTP 服务的生命周期是如何决定的几乎没有疑问。客户端可以使用我的 HTTP 服务多长时间?