2011-07-26 42 views
9

我正在尝试开发使用Windows身份验证的Intranet应用程序/网站。测试使用Windows身份验证的Intranet站点

我想与多个用户进行测试,对角色等

在我只用我自己的域帐户的时刻。有没有一种方法可以模拟网站的不同用户?

回答

0

如何安装和运行Virtual PC与一些准备从MS下载安装系统?

通过在您的计算机上运行虚拟PC,您可以模拟到您的电脑的连接,同时,它看起来像一台不同的计算机,具有不同的Ip。

2

使用模拟...

MSDN

模拟

ASP.NET应用程序可以使用模拟与验证的客户端 的安全上下文中执行操作和 接入资源或特定的Windows帐户。

而且在你的web.config

<identity impersonate="true" username="TestUser" password="[email protected]" /> 
+0

我假设他们想让客户端模拟登录,而不是内部网本身。 –

+0

我认为这个答案忽略了问题的关键。模仿通知应用程序用已登录用户的身份回答任何授权挑战,有效地替换应用程序池的身份。 **它不允许你以不同的用户身份登录到应用程序。** –

+1

你是对的......这个答案在这种情况下是不正确的。他们可以尝试在Web浏览器上更改登录用户。在IE去Internet选项 - >安全 - >本地Intranet - >自定义级别,并将用户身份验证更改为“提示输入用户名和密码”... – 2GDev

6

当您使用Windows身份验证您可以通过运行浏览器以其他用户更改您的身份。

在窗口中,转到浏览器的exe(或快捷方式),右键单击该图标并从菜单中选择“以...运行..”。这会提示您指定用户名和密码来运行该帐户。

如果您指定的身份可以访问正在运行的计算机,则浏览器将以“指定”身份运行。如果您使用Windows身份验证浏览到某个站点,它将使用指定的身份进行身份验证,而不是使用您自己的身份。

+0

不知道 - 但有道理。 –

10

由于一张图片胜过千言万语这里有云如何根据2GDev's comment复制在这里为清楚起见做,在IE浏览器:

转到Internet选项=>安全性=>本地Intranet =>自定义级别 并更改用户身份验证设置为“提示用户名和密码 ”然后

enter image description here

单击OK pply。关闭浏览器。重新打开它,并将其指向要调试的网站的URL。你应该高兴地看到登录提示,你可以用不同的用户帐户,以模拟例如并发登录(这是我现在在做什么在这里):

enter image description here

+2

这比我的答案更有优势,因为用户帐户不需要具有在计算机上运行的权限;证书应该仅用于远程验证,并且浏览器仍以原始本地用户身份运行。 –

0

在我的情况下,有DB包含用户及其属性的表格。在用户表中获得登录字段(域/用户名)。还获得了自定义标识和委托人,它使用此表在global.asax autherticate_request方法中对用户进行身份验证。

要在调试模式下模拟不同的用户,在母版页(或mvc的布局页面)中呈现特殊控件。它包含所有用户的选择框,并应用按钮。

在服务器端应用按钮单击会话推送模拟用户登录并发送刷新响应。

因此,在下一次验证事件发生时检查模拟用户在会话中登录,如果它存在,则验证继续基于模拟登录。

不好的一面:需要同步服务,始终有基于当前AD的实际用户表。

相关问题