微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

是否有可能存储Kerberos票据以后用它来模拟用户

我有一个用户直接调用外部系统来处理一些数据的场景.外部系统依赖于AD中的用户被正确模拟/认证.

现在呼叫系统必须改变,这样一个队列就位于用户和外部系统之间,并且从队列中的工作由Windows服务从该队列移交给外部系统.
该服务需要模拟用户,以便外部系统正确处理用户权限.

鉴于我无法更改外部系统,无法将用户名密码存储在队列中,所以当用户将新的工作项添加到队列中时,可以保存Kerberos票证,并在以后通过该服务模拟用户.数据到外部系统.在C#中怎么做?

解决方法

>编辑:这是最接近你的实际问题:你可以在冒充之下启动一个单独的线程,从那里请求,不管多长时间?在封面下,这将做所需要的(除非服务过程当然终止).

作为一个微软的家伙曾经告诉我们,“安全是在部署应用程序时停止应用程序的事情”. (他的观点是用现实的安全设置进行测试).

票可能有一个10小时的终身,但这是从发布之日起的时间.在用户提出请求时,它可能只剩下一小部分.

我建议你用不同的方式解决潜在的问题.

你现在需要排队的原因是什么?只是因为外部服务在高峰期被窒息?

你可以加强硬件还是扩展硬件?通常是最便宜的方式.
>您实际上是否拥有完全独立的权限,还是将用户插入有限数量的角色?如果角色可以记录用户所在的角色,并使用专门创建的用户名来访问外部服务,则每个角色一个.
外部服务是你的吗?你可以添加一个“假装是Bob”选项,它不依赖于Windows模拟?
>你可以在模拟器下启动一个单独的线程,从那里发出请求,不管花费多长时间?然后邮寄给用户? (是的,这将在封面下做你所要求的)
>最后你可以把用户放在一个浏览器的“配给队列”里.即发出一个数字,然后让浏览器每10秒刷新一次(或使用Ajax),告诉他们有多少人在他们之前排队.轮到的时候,请假冒的实际请求. (这需要他们在等待队列时保持浏览器窗口打开,并且还要求您跟踪未完成的请求和活动浏览器与远程浏览器).讨厌,但会工作.

不知道实际的问题,这是很难建议,除了说不要这样做 – 太多的陷阱.

原文地址:https://www.jb51.cc/csharp/97291.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐