如何在运行时添加自定义位置而不修改 web.config
我有一个包含自定义路由的 xml 文件,我正在 Global.asax 中的 Application_Start 上创建路由。其中一些路由需要身份验证,有些则不需要。目前,我在 web.config 中有所有这些路由的“位置”条目来控制授权。
我想知道是否有一种方法可以在配置路由的同时在应用程序启动时配置位置,这样我就不需要在 web.config 中添加条目。
我正在使用 ASP.NET WebForms .NET 4.0
I have an xml file with custom routes that I'm creating routes from on Application_Start in Global.asax. Some of those routes require authentication, some don't. Currently I have "location" entries for all those routes in web.config to control authorization.
I wonder whether there is a way to configure locations on application start at the same time I configure routes, so that I don't need to have entries in web.config.
I'm using ASP.NET WebForms .NET 4.0
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试创建您自己的(或查看许多开源)站点地图提供程序。您的站点地图提供程序可以允许您根据您想要的任何逻辑动态更改站点地图节点,还可以允许您指定允许访问每个节点的角色/用户...
显示基本概念的 SO 问题是 此处,稍微复杂一点的答案是此处
这样,您就可以读取 XML 来计算路由的 URL ,将其与任何现有的站点地图定义适当合并,仍然可以获得所有 ASP.Net 安全优势(站点地图上的安全修剪、URL 授权等)。
这并不能直接回答您的问题,但我希望这对您有所帮助。
Try creating your own (or looking at the many open source) sitemap providers. Your sitemap provider can allow you to dynamically change the sitemap nodes based on whatever logic you want and can also allow you to specify roles/users allowed to access each node...
An SO question showing the basic concept is here and a slightly more involved answer is here
That way, you can read your XML to calculate the URLs of the routes, merge it with any existing sitemap definition as appropriate and still get all the ASP.Net security benefits (Security trimming on sitemap, Authorization for URLs, etc.)
This doesn't answer your question directly but I hope this is of some help.