<identity impersonate =“TRUE”>&amp; Application_Start事件</identity>

时间:2012-07-11 15:08:27

标签: application-start impersonation

所以 - 经过大量研究后,似乎&lt; identity impersonate = true&gt;仅在Application_Start事件触发后才起作用。

有没有人知道这个问题的解决方法?我有一个应用程序需要在应用程序首次启动时创建数据库。 IIS网站运行的用户具有以APP_POOL用户明显没有的方式执行的相应权限。

我目前的HACK解决方案是放(peudo代码)

static bool AppInitialized = false;
void Session_Start() {
   if (!AppInitialized) {
     AppInitialized=true;
     InitializeApp();
   }
}

impersonate = true将在特定会话开始时“生效” - 所以这个工作,但似乎很愚蠢,因为我基本上是在重新创建Application_Start事件的行为。似乎必须有一个更优雅的解决方案来解决这个问题 - 不是吗?

1 个答案:

答案 0 :(得分:0)

这很奇怪 - 我的web.config文件中有这个条目:

<identity impersonate="true" password="blarhg" userName="thisuser"/>

当我在Application_Start()事件中检查身份时,它会给我“thisuser”。

这不正确吗?