【发布时间】:2013-01-14 12:00:00
【问题描述】:
我有一个在 IIS 7.5 上运行的 ASP.NET MVC3 C# .NET 应用程序。
我们在代码中模拟了一个 Windows NT 服务帐户,以便将文档读/写到文件共享中。用户 id 在代码中编译,服务帐户密码存储在 web.config 文件中。
密码包含一个 & 字符(即:p&ssword)。
这破坏了网站。访问该站点时,我们收到此错误:“抱歉,处理您的请求时发生错误”。
这是使用密码的代码:
var password = ConfigurationManager.AppSettings.Get(Common.SVC_PWD);
bool isSuccess = LogonUser(
@"my_svc_acct",
"my.domain.net",
password,
LOGON32_LOGON_NEW_CREDENTIALS,
LOGON32_PROVIDER_DEFAULT, ref token
);
为什么这会导致网站崩溃?
【问题讨论】:
-
我认为是因为 web.config 被视为 XML 文档 - 请参阅此处stackoverflow.com/questions/3824351/…
-
我的第一个猜测是配置文件中的密码不正确。但是您是否尝试过调用 GetLastError (msdn.microsoft.com/en-us/library/windows/desktop/…) 来查看错误是什么?我还必须补充一点,在配置文件中存储明文密码不是一个好主意。我至少会对其进行加密。
标签: c# asp.net .net asp.net-mvc configuration