我希望你能帮忙翻译一下关于IT技术的内容。以下是需要翻译的内容:
我已经束手无策了!
在Server 2003上,我配置了一个使用基本认证和专用账户的应用程序池的内部网站应用。
在web.config中我正在指定
<authentication mode="Windows" />
<identity impersonate="true"/>
在MVC 3中的一个视图:
<p>Environment.UserName (authentication): @Environment.UserName</p>
<p>User.Identity.Name (asp.net account): @User.Identity.Name</p>
这个示例展示了我的域账户被正确获取(我必须通过对话框登录应用程序)。太好了!
但是等等!当应用程序访问文件系统或 SQL Server(另一台机器)时,它并不是通过我的域账户访问的,而是通过池账户访问的。我可以看到 SQL 登录通过分析工具进入。通过文件系统权限验证,我也确认了这一点。如果我将池设置为使用 NETWORK SERVICES,即使我使用的域账户拥有权限并可以交互地创建本地文件,我也无法创建本地文件。如果我将 NS 账户授予权限,它就能正常工作。所以我知道,尽管视图确认了我正在模仿身份验证,但资源请求并没有使用该帐户,而是使用池的帐户。
如果我关闭身份验证,视图中出现了池 ID,这是预期的。
根据我所读的,我应该能够使用基本身份验证来访问远程 SQL Server,对吧?更别说本地磁盘了。我就是不明白!
非常感谢您提供任何建议。谢谢!