使用集成 Windows 身份验证时提示输入登录详细信息

2023-12-30

对于 ASP.NET 应用程序,使用集成 Windows 身份验证时如何提示用户输入用户名/密码?我想在页面后面的代码中使用 C# 来执行此操作。

我想要一些页面(例如http://内网/admin/ http://intranet/admin/)提示输入密码,而其他则自动通过(通过 IWA/NTLM)。然后,我希望它记住用户在访问文件夹/站点中的其他页面时已登录,并在完成后提供注销链接。

编辑: 我想要做的是将 401 状态和 WWW-Authentication 标头发送给用户,以便他们使用 Windows 凭据登录。

基本上,如果站点不受信任,Firefox / IE 将如何执行此操作。

编辑2: SharePoint 就是这样做的,您可以自动登录,但可以注销并以其他人的身份登录,而无需注销 Windows。

Edit 3:

示例(SharePoint 除外):您以标准(有限访问)Windows/Active Directory 用户身份登录受信任的站点,该站点会传递您的凭据。然后,您想要使用不同的凭据(但仍然是 Windows,而不是 WebForms)登录站点的管理部分。唯一的其他方法是注销 Windows,然后重新登录。如果您打开了文件(您可能希望访问)或管理员无法本地登录(交互式登录权限已禁用),则不实用。可以设置模拟,因为该页面允许访问常规用户帐户不允许的应用程序(例如数据库、文件、Active Directory 管理)。

基本上使站点内的页面表现得好像它不属于受信任站点区域一样。


听起来您需要使用模拟。这允许您“以”另一个 Windows 用户的身份运行。看这里:ASP.NET 模拟 http://msdn.microsoft.com/en-us/library/xh507fc5.aspx

以下是几个 CodeProject 示例:

使用 C# 进行 Windows 模拟 http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

.NET 中的用户模拟 http://www.codeproject.com/KB/dotnet/UserImpersonationInNET.aspx

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

使用集成 Windows 身份验证时提示输入登录详细信息 的相关文章

随机推荐

  • 如何在codeigniter活动记录中使用select插入记录

    我想使用 CodeIgniter Active Record 类实现 sql 查询 查询看起来像这样 INSERT california authors au id au lname au fname SELECT au id au lna
  • 如何将 HTML5 拖放与 KnockoutJS 结合使用?

    我似乎无法绑定到 html5 拖放事件 以下是来自模板的示例
  • 根据公共后缀列表从 URL 中提取注册域

    给定一个 URL 如何使用以下命令提取注册域公共后缀列表 http publicsuffix org list 有效 TLD 列表 例如这个清单 http mxr mozilla org mozilla central source net
  • 如何将 PHP DateTime 对象转换为 ISO 字符串?

    我收到了一个 MS 格式的 JSON 日期日期 它看起来像这样 Date 1365004652303 我可以通过执行以下操作将其转换为 PHP DateTime 对象 timestamp round int originalMSdate 1
  • SQL 子查询返回超过 1 个值

    我的查询导致以下错误 消息 512 级别 16 状态 1 过程 Item insupd 第 17 行子查询返回超过 1 个值 当子查询跟在 gt 后面或子查询用作表达式时 这是不允许的 Query INSERT INTO Total Dat
  • 将数据附加到已存在的 AudioBuffer 对象

    我正在寻找将数据附加到already现存的音频缓冲区 https developer mozilla org en US docs Web API AudioContext createBuffer正在使用网络音频播放 收到要播放的音频数据
  • 在 gdb-multiarch 中指定架构

    如果我使用任何arm编译器编译C程序 例如arm none eabi gcc 然后调用gdb multiarch使用二进制文件作为第二个参数 它将正确确定机器类型 并且我可以调试我的远程应用程序 然而如果我打电话gdb multiarch就
  • Linux 中以百分比形式准确计算 CPU 使用率?

    这是一个已经被问过很多次的问题 但是我找不到得到充分支持的答案 许多人建议使用 top 命令 但如果您运行 top 一次 因为您有一个脚本 例如每 1 秒收集一次 Cpu 使用情况 它将始终给出相同的 Cpu 使用结果 示例1 https
  • “COM”、“USB”、“串口”有什么区别? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对这3个概念很困惑 我的理解是 Serial Port通常表示 RS 232 兼容端口 RS 推荐标准 USB代表Universal S
  • 如何使用 $.getJSON 从博主提要获取数据

    我想从博主提要中获取数据使用 getJSON 函数 我使用此代码来获取版本 但它不起作用
  • 从 Spark 保存分区 parquet HIVE 表时出现问题

    火花1 6 0 蜂巢1 1 0 cdh5 8 0 我在将数据帧从 Spark 保存到镶木地板支持的分区 Hive 表中时遇到一些问题 这是我的代码 val df sqlContext createDataFrame rowRDD schem
  • mysql/sqlserver 中截断与删除的比较[重复]

    这个问题在这里已经有答案了 关于 mysql sql 服务器的一件事一直困扰着我 即删除 截断 哪一个更好更快 在哪里使用删除 在哪里使用截断 DELETE DELETE 是一个 DML 命令 DELETE 语句使用行锁执行 表中的每一行都
  • Hive:如何显示表的所有分区?

    我有一个包含 1000 多个分区的表 Show partitions 命令仅列出少量分区 如何显示所有分区 Update 我发现 show partitions 命令仅列出 500 个分区 select where 仅处理 500 个分区
  • Numpy: arr[...,0,:] 有效。但是如何存储切片命令 (..., 0, :) 中包含的数据呢?

    在 Numpy 我想通常是 Python 中 如何存储切片索引 例如 0 以便传递它并将其应用于各种数组 比如说 如果能够在函数之间传递切片索引 那就太好了 Python 根据切片语法创建特殊对象 但仅在方括号内用于索引 您可以手动创建这些
  • 生成随机字符串

    好吧 我知道有很多这样的线程 但我对 vb net 很陌生 但我无法编辑给出的源代码来制作我真正想要的内容 所以我想要一个函数 它将生成随机字符串 每个字符串包含 15 32 个字符 每个字符串将具有以下字符 并非全部在同一字符串 但其中一
  • 如何使用clients2.google.com 下载CRX?

    上周我遇到了一些困难 我已经能够使用以下链接格式使用 Chrome 商店中列出的扩展名的 ID 下载 crx 文件 现在 最近几周发布到 chrome 商店的任何新 chrome 扩展程序都将无法使用 它不会下载任何东西 使用fiddler
  • 确保用户发布的博客评论安全

    我正在我的网站上创建博客引擎 没有什么花哨 用户将注册一些基本信息 包括评论本身 即该问题的问题 在评论字段中 用户可以编写一些文本 但目前没有什么可以阻止他在那里编写任何有害的内容 这会在使用评论渲染页面时弄乱页面 所以我想知道完成这三个
  • Mat-checkbox 已选中但不更改复选框状态

    我正在实现一个语言切换组件 它显示复选框 一个用于应用程序的每种语言 翻译为 ngx translate 单击其中一个复选框时 应用程序语言已正确切换 但单击的 mat checkbox 仍未选中 模板
  • 使用 as.Date 格式化月份缩写[重复]

    这个问题在这里已经有答案了 我正在处理每月数据 并有一个日期字符向量 格式如下 Sep 2012 Aug 2012 Jul 2012 等等 回到 1981 年 我尝试过使用 as Date dates b Y where b代表月份缩写 但
  • 使用集成 Windows 身份验证时提示输入登录详细信息

    对于 ASP NET 应用程序 使用集成 Windows 身份验证时如何提示用户输入用户名 密码 我想在页面后面的代码中使用 C 来执行此操作 我想要一些页面 例如http 内网 admin http intranet admin 提示输入