草庐IT

kerberos-delegation

全部标签

windows - Windows XP 和 Unix 中的 kerberos 票证 TGT 和服务票证的路径?

有人可以在windowsXP和unix中发送kerberos票证TGT和服务票证的路径吗?此外,我们如何知道在windows和unix中使用的kerberos版本?非常感谢, 最佳答案 您可以使用klist在Unix上获取Kerberos票证。票据路径因操作系统而异。klist命令应该告诉您路径。在某些Unix平台上,您可以指定-4或-5以仅显示v4票证或v5票证。您可以使用Kerbtray或Klist查看WindowsXP上的kerberos票证的详细信息。两者都可以从WindowsServer2003ResourceKit找到.

c# - 存储 Kerberos 身份验证以供以后模拟

是否可以存储Kerberos票证以便以后使用它来模拟用户?我有一个场景,用户直接调用外部系统来处理一些数据。外部系统依赖于在AD中正确模拟/验证的用户。现在必须更改调用系统,以便队列位于用户和外部系统之间,队列中的工作由Windows服务从该队列移交给外部系统。此服务需要模拟用户,以便外部系统正确处理用户权限。鉴于我无法更改外部系统并且无法将用户名和密码存储在队列中,我可以在用户将新工作项添加到队列时保存Kerberos票证并稍后通过服务模拟用户吗?它将数据移交给外部系统。我将如何在C#中执行此操作? 最佳答案 编辑:这是我能得到的

c# - 在特定线程上调用委托(delegate) C#

有没有办法让委托(delegate)在特定线程上运行?假设我有:CustomDelegatedel=someObject.someFunction;ThreaddedicatedThread=ThreadList[x];我能否拥有一致的后台长时间运行线程并在需要时调用我自己的委托(delegate)?每次都必须是同一个线程。[编辑]我希望它在专用线程上的原因是时间是我打算在其上运行委托(delegate)并在y毫秒后挂起线程,并在我运行另一个线程时恢复线程委托(delegate)给它。我看这是不可能的。我将有一个委托(delegate)队列,让线程的主要功能从中读取并运行。为了用一个具

c# - delegate.Invoke 是如何工作的?

如果我在我的代码中创建一个委托(delegate),例如:delegatevoiddostuff(stringo);这会生成一个派生自System.MulticastDelegate的类,该类实现了三个方法-Invoke、BeginInvoke和EndInvoke.如果我查看为Invoke编译的IL,我看到的是:.methodpublichidebysignewslotvirtualinstancevoidInvoke(stringo)runtimemanaged{}//endofmethoddostuff::Invoke该方法不包含任何代码。调用它确实有效——委托(delegate)

c# - 哪个更好 : delegate {} or () => {}

我今天想知道在需要空函数的情况下是否有任何理由更喜欢使用委托(delegate){}而不是()=>{}。你知道有什么理由比另一个更喜欢吗? 最佳答案 它们不是一回事。由于delegate{}不提供参数列表,它canbeconverted返回void并接受任意数量的参数(ref和out参数除外)的委托(delegate)。这与()=>{}不同,它被明确声明为不带参数。 关于c#-哪个更好:delegate{}or()=>{},我们在StackOverflow上找到一个类似的问题:

c# - 从一个委托(delegate)转换为另一个委托(delegate)。伪 Actor

我们正在使用IoC并使用它公开我们的日志记录。我们正在使用Common.Logging并且我已经为Common.Logging.FormatMessageHandler编写了一个匹配的委托(delegate),但我不知道如何从我们的委托(delegate)版本转换为Common.Loggingapi所期望的。这个问题看起来很相似,但我不明白如何从我实现的类型转换为我想调用的已知类型。Dynamicallycastingonetypeofdelegatetoanother这是我的委托(delegate)签名:publicdelegatestringFormatMessageHandler

c# - 比较委托(delegate) Action<T>

请随意质疑我的理智。我需要确定一个Action对比Action是原始实例。我拥有的是一个带有类变量的类protectedActionMessageCallback=null;当我的abstractclassMessage是通过抽象方法创建的,我强制“他们”初始化MessageCallBack。此MessageCallback被添加到IList>.此列表中定义的每个操作都可以不同。现在,我想要做的是从列表中删除一个特定的操作,但我尝试比较它时失败了。以下是我最后一次尝试设置的示例:publicvoidUnsubscribe(ActionmessageCallback){varmessag

c# - 为什么不同的传委托(delegate)方式在性能上会有如此大的差异?

我试图比较在C#中将委托(delegate)传递给函数的三种不同方式——通过lambda、通过委托(delegate)和通过直接引用。真正让我吃惊的是直接引用方法(即ComputeStringFunctionViaFunc(object[i].ToString))比其他方法慢六倍。有谁知道这是为什么吗?完整代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Runtime.CompilerServices;namespaceFunctionInvoc

c# - 异步方法和异步委托(delegate)

C#3.0简述说异步方法和异步委托(delegate)看起来很相似,但行为却大不相同.这是书中关于两者的说法。异步方法很少或从不阻塞任何线程。Begin方法可能不会立即返回给调用者。商定的协议(protocol),不支持C#语言。异步委托(delegate)可以阻止任何时间长度BeginInvoke立即返回给调用者。内置编译器支持。书上还说,异步方法的目的是让很多任务在很少的线程上运行;异步委托(delegate)的目的是与调用者并行执行任务。当我通过反射器查看System.IO.Stream类中的BeginRead()方法时,它使用委托(delegate)并调用BeginInvoke

c# - 它有什么区别 - 使用 Task.Run 运行 'async' Action 委托(delegate)(与默认 Action 委托(delegate)相比)?

我正在努力了解async/await并认为我确实了解有关用法的一些事情。但仍然不太清楚在下面的场景中实际好处是什么。查看Task.Run用法。第一种方法使用普通委托(delegate)并使用Thread.Sleep,但第二种方法使用“异步”委托(delegate)和Task.Delay。我的问题是:这对这个方法有什么影响(或没有影响)?该方法本身是一个异步方法。该代码正在创建一个单独的线程(通过Task.Run),并且该线程除了执行该委托(delegate)之外别无他法。因此,即使它在Task.Delay上产生等待,在这种情况下有什么用,因为线程无论如何都是一个孤立的线程,不用于任何其