如何在 Kerberos 中“取消模拟”(取消委托?)

2024-01-23

我有一个使用 Kerberos 的 Web 应用程序来使用 ASP.NET 3.5 和 IIS 访问外部资源。

当用户连接到应用程序时,Kerberos 身份验证会自动允许我使用委派作为用户连接到外部资源。这并不容易做到。这很好,但我有一个问题。有时我需要使用比用户拥有更多权限的帐户连接到外部资源。应用程序池运行的服务帐户具有我需要的附加权限。如何删除用户的 Kerberos 标识并使用运行应用程序池的服务帐户与 Kerberos 连接?

UPDATE

我不知道为什么我根本没有收到任何回复。我以前从未见过这样的情况。请发布问题,他们可能会澄清问题(对我来说也是如此)。


使用 Kerberos 并需要了解委派概述?阅读这个答案的第一部分:https://stackoverflow.com/a/19103747/215752 https://stackoverflow.com/a/19103747/215752.


我有一堂课:

public class ProcessIdentityScope : IDisposable
{
    private System.Security.Principal.WindowsImpersonationContext _impersonationContext;
    private bool _disposed;

    public ProcessIdentityScope()
    {
        _impersonationContext = System.Security.Principal.WindowsIdentity.Impersonate(IntPtr.Zero);
    }

    #region IDisposable Members

    public void Dispose()
    {
        Dispose(true);
        GC.SuppressFinalize(this);
    }

    protected virtual void Dispose(bool disposing)
    {
        if (!_disposed)
        {
            _impersonationContext.Undo();
            _impersonationContext.Dispose();
            _disposed = true;
        }
        else
            throw new ObjectDisposedException("ProcessIdentityScope");
    }

    #endregion
}

我这样使用它:

using(ProcessIdentityScope identityScope = new ProcessIdentityScope())
{
    // Any code in here runs under the Process Identity.
}

该代码基于这篇 MSDN 文章:http://msdn.microsoft.com/en-us/library/ms998351.aspx http://msdn.microsoft.com/en-us/library/ms998351.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Kerberos 中“取消模拟”(取消委托?) 的相关文章

  • 在 Asp.Net 中以编程方式添加样式表

    我想以编程方式在头部添加样式表 但我看到的示例之一似乎需要多行代码才能添加一个样式表 即使我可能需要很多 示例代码 HtmlLink css new HtmlLink css Href css fancyforms css css Attr
  • ASP.net MVC 项目无法在 IIS 上编译

    我以前只是将 ASP NET 网站上传到实时服务器 IIS 会自动编译它们 但是 当我对 asp net MVC 项目执行相同操作时 我只是收到错误 并且我需要在上传项目之前发布 构建 项目 注意1 我使用的是VWD 2008 Expres
  • 路径访问被拒绝 VS 2017 无法复制文件

    最近 Visual Studio 遇到了最奇怪的问题 我正在运行 2017 年 我有一个与同事合作了一段时间的存储库 有一天我突然尝试构建 但遇到了一些错误 内容如下 访问路径 function json 被拒绝 然后 在多次尝试构建和清理
  • IIS 7 错误:无法执行程序。正在执行的命令是 csc.exe(ApplicationPoolIdentity 默认设置)

    这是我的第一个问题 如果我有一些语法错误 请向我道歉 问题描述 我在多台服务器上安装了运行在 IIS 7 Windows Server 2008 和 SQL Server 2008 R2 上的基于 32 位 MVC 5 的 CRUD 系统
  • 如何找到 IIS 在负载/性能测试期间模拟的平均并发用户数?

    我正在使用 JMeter 进行负载测试 我正在练习通过简单地增加我的分布式 JMeter 测试用例中的线程数并启动测试来查找我们的网络服务器可以处理的最大并发线程 用户 数量 然后 我突然意识到 虽然 MAX 数字可能有用 但REAL我的网
  • 在 javascript 中访问 ajax POST 响应

    我正在从 javascript 函数发出 ajax POST 请求 function UpdateMetrics ajax type POST url MyHandler ashx Param1 value1 data contentTyp
  • 如何根据 ASP.NET VNEXT MVC6 中给出的路径进行虚拟路由/重定向?

    我有一个网站 它在不同的路径上公开多个 API 每个 API 由特定于应用程序部分的控制器处理 例如example com Api Controller Action param1 stuff 其中控制器发生变化 但操作保持相当一致 我有几
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • 使用实体框架重叠约会

    我将 asp net mvc 与实体框架一起使用 我有一个包含 startat 字段 endat 字段和 roomid 字段 称为 SpaceConfigurationId 的约会列表 并且希望查找给定房间已重复预订的约会列表 可以假设 e
  • 锚标记 href 中的 eval

    我想要实现的目标是在锚标记的 href 中使用 Eval 作为参数 锚点嵌套在转发器内 为什么我不能使用后面的代码来实现这一点 我尝试了一些事情但没有运气 a href http MyWebsite ActiveUsers ID Inser
  • ASP .NET 按钮事件处理程序不会在第一次单击时触发,而是在回发后第二次单击时触发

    背景 我正在自定义现有的 ASP NET C 应用程序 它有自己的小 框架 和约定 供开发人员在扩展 定制其功能时遵循 我目前正在扩展它的一些管理功能 该框架提供了一个合同来强制执行GetAdministrationInterface 方法
  • SELECT 语句会受到 SQL 注入攻击吗?

    实际上有2个问题 我知道我必须尽可能多地使用存储过程 但我想知道以下内容 A 我可以从 SELECT 语句 例如 Select from MyTable 获得 SQL 注入攻击吗 B 另外 当我在 ASP NET 中使用 SQLDataSo
  • Coldfusion 10、IIS 7.5 - 即使文件存在也收到 404

    即使该页面存在于磁盘上 我也收到 404 错误 我已经运行了 Web 服务器配置工具并重新启动了几次 cfm 文件的处理程序映射 配置工具似乎有效 C ColdFusion10 config wsconfig 1 isapi redirec
  • jQuery Datatable:分页和过滤器显示不正确

    我不知道如何解决这个问题 尝试了一整天但没有成功修复分页 我正在使用 jQuery 数据表 并且为了显示我的大量数据 我正在使用服务器端 作为测试 仅调用表中的 10 行数据 然后在传递到表之前 我重组了里面的数据dataSrc 使用这个解
  • ASP.net C#,采用不同参数类型的同名方法[重复]

    这个问题在这里已经有答案了 可能的重复 可以在 ASP Net MVC 中重载控制器方法吗 https stackoverflow com questions 436866 can you overload controller metho
  • 如何使用asp.net检查li点击事件以进行代码隐藏

    我有列表 li 我想知道单击哪个选项可以在后面编写代码 我怎么可能 ul class mega select sort li class filter wrap a href class mega select filter filter
  • 无法将 MVC 4 部署到服务器

    我的 Web 应用程序只是一个用 VS 2010 MVC 4 制作的简单 Web 应用程序 没有任何外部代码 它只是 VS 2010 的默认应用程序 我有 Plesk 的豪华 Windows 托管 我从未更改过帐户中的任何功能 我将所有文件
  • 优化视图状态

    是否有人对优化 ASP NET 应用程序的视图状态有任何想法或参考可以向我指出 我不想把它全部关闭 优化它的主要目标是提高性能 所以我不想运行一个昂贵的函数来递归地禁用某些控件的视图状态 因为该函数会减慢速度页面的加载时间会达不到目的 有任
  • 服务器不支持 C# 中的安全连接

    我在下面的代码中收到错误 服务器不支持安全连接 SmtpClient smtp new SmtpClient MailMessage mail new MailMessage mail From new MailAddress gmail
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P

随机推荐

  • 使用之间的区别?和 :prepare 语句中的参数

    假设我想选择记录Id 30 准备好的语句允许两种绑定参数的方式 问号 id 30 q conn gt prepare SELECT FROM pdo db WHERE id gt q gt execute array id Here abo
  • 子div比父div大

    计划是使子 div 与父 div 中的空间一样大 是否可以选择将父级 div 的完整高度应用到子元素上 我只知道 css calc 作为一个选项 但我不想实现这个选项 另外我在图像中解释了这个问题 parent height 250px w
  • Firefox 配置文件首选项 vs Chrome 选项 vs IE 所需功能

    我已经看到 并且实际上回答了 几个特定于硒的问题 其中需要设置一些特定的浏览器首选项来更改其行为 例如 如何使用 Selenium 处理证书 https stackoverflow com questions 24507078 how to
  • Django - 生产中的内存中的sqlite

    我有一个在生产中使用的小型 10MB 只读 sqlite3 数据库 我想加快我的网站速度 因此我尝试在每次 Django 启动时将整个数据库从磁盘加载到内存 这个答案解释了如何在烧瓶中做到这一点 https stackoverflow co
  • 如何创建全局枚举

    如何通过所有类访问枚举 让我解释 enum BottomBackButtonNav 0 BottomNextButtonNav BottomSliderIncreaseNav BottomSliderDcreaseNav PageSwipe
  • 量角器新手,收集选择选项有困难

    自学量角器和解决非角度网络应用程序的问题 并从选择控件中获取所有值的列表 这是 html 但似乎无法验证列表 本网站的第一个重量选择框 http halls md body surface area bsa htm http halls m
  • 在 Python 中定义异常的“正确”方法,PyLint 不会抱怨

    我试图在 Python 2 6 中定义我自己的 非常简单的 异常类 但无论我怎么做 我都会收到一些警告 首先 最简单的方法 class MyException Exception pass 这有效 但在运行时打印出警告 Deprecatio
  • 如何从图像中检测机器人方向?

    我正在开发可以在玉米植株中运行并由罗盘传感器引导的机器人 但我想将相机用作机器人的眼睛 并使用图像处理来检测运动的误差角度 这是图像示例 processed image raw image segmented image 我使用以下步骤 步
  • 为什么 cin 将我的双精度输入转换为整数? C++

    我有以下代码 int variable 1 variable 2 cout lt lt Please enter the 2 numbers try if cin gt gt variable 1 throw Invalid number
  • CriteriaBuilder. 和 & CriteriaBuilder.or,如何操作?

    我正在尝试更改以下 HQL 以使用 JPA Criteria select distinct d from Department d left join fetch d children c where d parent is null a
  • 如何告诉 Visual Studio 不要填充设计器代码中的字段?

    我有一个自定义控件 当我将其拖到表单上时 会创建以下 Designer cs 代码 colorPickerBackground this colorPickerBackground Color Color Empty this colorP
  • 主线程上的 Okhttp 响应回调

    我创建了一个帮助程序类来处理我的应用程序中的所有 http 调用 它是 okhttp 的一个简单的单例包装器 如下所示 我省略了一些不重要的部分 public class HttpUtil private OkHttpClient clie
  • 在RelativeLayout中获取子视图

    我想在我的活动中添加一个按钮 该按钮将返回相对布局的所有子视图 如何获取相对布局视图的所有子视图 RelativeLayout延伸ViewGroup其中有getChildCount and getChildAt int index 方法 所
  • 使用命令行编译 C++ 代码

    我使用下面的命令来编译我的 C 代码 它使用 OpenCV 库 我的命令就像 opencv main cpp o binary name 其中 opencv 是一个别名命令 例如 alias opencv g pkg config cfla
  • 使用 YoutubeURL 获取 oembed 返回 403 Forbidden

    这几天 我突然收到来自 403 Forbidden 的回复https www youtube com oembed url youtubeURl 我检查了Youtube API的文档 但我找不到它对oembed有限制并且也有授权 我只能看到
  • 在 bash 中将 HH:MM:SS.mm 转换为秒

    我正在运行一些 gnu 时间脚本 它们会生成以下形式的输出 mm ss mm 分 秒和毫秒 例如 1 20 66 或 hh MM ss 小时 分钟和秒 例如 1 43 38 我想将其转换为秒 以便比较它们并将它们绘制在图形中 使用 bash
  • Silverlight:如何在代码后面更改AxisLabelStyle?

    在 xaml 文件中 我们可以通过执行以下操作来更改 AxisLabelStyle
  • Java Servlet API 向后兼容吗?

    我想编写一个使用 javax servlet API 的 JAR 文件 如果我针对 2 2 版本编写 是否意味着它可以在 2 3 2 4 和 2 5 版本上工作 Thanks 是的 它们是向后兼容的 甲骨文来源 http docs orac
  • 面向对象设计实践问题[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 过去几年我几乎只开发 C 代码 我目前正在寻求提高我的面向对象设计技能 任何人都可以推荐任何包含一系列简
  • 如何在 Kerberos 中“取消模拟”(取消委托?)

    我有一个使用 Kerberos 的 Web 应用程序来使用 ASP NET 3 5 和 IIS 访问外部资源 当用户连接到应用程序时 Kerberos 身份验证会自动允许我使用委派作为用户连接到外部资源 这并不容易做到 这很好 但我有一个问