使用具有选择性模拟的母版页

Posted

技术标签:

【中文标题】使用具有选择性模拟的母版页【英文标题】:Using masterpages with selective impersonation 【发布时间】:2010-02-25 13:16:19 【问题描述】:

我网站的母版页正在使用从网络共享读取数据的控件。为了在所有页面上进行这项工作,我必须为整个站点启用模拟。但我想做的只是为实际读/写共享的页面启用它。例如:

    <location path="SystemAdmin">
    <system.web>
  <identity impersonate="true" password="abcdefgh" userName="MYDOMAIN\Administrator" />
  <authorization>
    <allow roles="Admin" />
    <deny users="*" />
  </authorization>
</system.web></location>

如果我这样做,我的母版页控件仅适用于管理页面。这里有点难过...

【问题讨论】:

您不能将此 system.web 部分移动到您的 SystemAdmin 文件夹中吗?或者,使用 DS 身份验证并确保管理员用户可以访问网络共享是有意义的。 是的,但这并不能解决问题。然后我仍然需要在主 web.config 中使用模拟来确保控件在非管理页面中工作(它在每个页面上,因为它在母版页中) 【参考方案1】:

你可以在后面的代码上使用 c# 代码模拟 或者你可以写 service n call 那个。如果不是真的 时间U可以放入本地存储r cach。

【讨论】:

【参考方案2】:

或者您可以仅将位置用于特定页面:

【讨论】:

【参考方案3】:

好的,

所以我只在母版页代码隐藏从网络共享读取数据时使用自定义类来模拟管理员。见:

File.Exists returning false from a network share

我对这个解决方案很满意,但如果有人有任何天才的解决方案,我会很高兴听到他们的意见。我对在 web.config 中存储管理员密码不满意;那么也许有人对此也有解决方案?

谢谢

【讨论】:

【参考方案4】:

一个更简单的说明。为什么不使用两个母版页。一个具有该功能,另一个没有。这样,您可以使用需要在特定页面中模拟的母版页和不需要从共享资源中获取信息的母版页。

希望这会有所帮助。

谢谢, 拉贾

【讨论】:

我的所有页面都需要从共享资源中获取信息,这就是为什么我不想在公共页面上进行模拟。

以上是关于使用具有选择性模拟的母版页的主要内容,如果未能解决你的问题,请参考以下文章

如何在文件后面的母版页代码中执行异步函数?

GAE 项目的母版页 (python)

如何使用 Sitemappath 控件在网站的母版页中添加面包屑?

如何在两个部分中使用扩展相同的母版页布局?

创建适合任何屏幕分辨率的母版页

Usercontrol从内容页面的母版页访问Javascript