派生自 XMLSiteMapProvider 的自定义 SiteMapProvider :如何直接在 BuildSiteMap() 中加载 xml 文档
我们需要为每个登录用户加载不同的 XML 站点地图。该站点地图可以来自各种来源(Web 服务、数据库、文件),并且必须在运行时加载。
我是这样设计的:当用户登录时,会获取该用户的自定义 XML 并将其放入 Session 中。 在我的自定义 SiteMapProvider 的 BuildSiteMap() 方法中,我需要加载 XML 作为站点地图。 我知道如何逐个节点地执行此操作,但我的问题是:如果 XMLSiteMapProvider 可以从 XML 文件加载站点地图数据,我可以使其从内存中的站点地图文件执行相同的操作(通过将 XML 转换为站点地图 XML) ?
非常感谢任何评论,谢谢。
We have a requirement to load a different XML sitemap for each user that logs in. This sitemap can come from a variety of sources (webservice, database, file) and has to be loaded at runtime.
I have designed it thus: When a user logs in, the custom XML for that user is fetched and put into Session. In the BuildSiteMap() method of my custom SiteMapProvider, I need to load the XML as the sitemap. I know how to do this node-by-node, but my question is this: If XMLSiteMapProvider can load the sitemap data from an XML file, can I make it do the same from an in-memory sitemap file (by transforming my XML to sitemap XML) ?
Will appreciate any comments, thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
虽然技术上应该是可行的,但我认为这不是一个好的方法,因为它与包含完整站点导航并通过为每个节点指定用户/组来处理授权的站点地图的想法相矛盾。
While it should technically be possible, i don't think this would be good approach because it contradicts the idea of a sitemap containing a complete site navigation and handling authorization by specifying users/groups for each node.
您可以在
siteMapNode
中提供siteMapFile
属性。 也许这可以进一步帮助您?You can provide a
siteMapFile
attribute in asiteMapNode
. Maybe this can help you further?