2010-02-25 54 views
0

我的网站的主页正在使用从网络共享中读取数据的控件。要在所有页面上进行此项工作,我必须为整个网站启用模拟。但是我想要做的只是为实际读取/写入共享的页面启用它。例如:使用选择性模拟的主页

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

如果我这样做,我的主页面控件只能在管理页面上工作。有点难倒在这里...

+0

你不能移动此的System.Web节到您SystemAdmin文件夹?或者,使用DS身份验证并确保管理员用户可以访问网络共享是有意义的。 – Lazarus 2010-02-25 13:24:47

+0

是的,但这并不能解决问题。然后,我仍然需要在主web.config中使用模拟,以确保该控件在非管理页面中工作(它位于每个页面上,因为它在主页面中) – 2010-02-25 16:26:14

回答

0

你可以模仿使用代码后面的代码 或你可以写服务n调用。如果它不是真实的 时间U可以放在本地商店里。

0

或者你也可以只为一个specifi页面使用位置:

0

好吧,

所以我用一个自定义的类来冒充管理员只在母版页的代码隐藏在读来自网络共享的数据。请参阅:

File.Exists returning false from a network share

我很高兴与此解决方案,但如果任何人有任何天才的解决方案我很高兴听到他们的声音。我不喜欢在web.config中存储管理员密码;所以也许有人也有解决方案呢?

谢谢

0

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

希望这会有所帮助。

感谢, 拉贾

+0

我的所有页面都需要从共享资源,这就是为什么我不想在公共页面上扮演角色。 – 2010-02-26 10:18:36