如何在另一个应用程序中显示 ASP.NET MVC html 部分

发布于 2024-08-20 08:29:34 字数 798 浏览 5 评论 0原文

我们在以下设置中有几个 ASP.NET MVC 应用程序

SecurityApp(根应用程序 - 处理 SSO 的表单身份验证并具有配置文件编辑页面)
应用程序1(虚拟目录)
应用程序2(虚拟目录)
Application3(虚拟目录)

因此,domain.com 指向 SecurityApp,domain.com/Application1 等指向其关联的虚拟目录。我们所有的单点登录 (SSO) 都使用表单身份验证正常工作。
根据登录时的用户权限,列出其可用应用程序的菜单,将生成注销链接并将其保存在缓存中 - 只要用户在 SecurityApp 中(编辑其个人资料),此菜单就会显示正常,但我们无法弄清楚如何让虚拟目录中的应用程序显示相同的应用程序菜单。

我们已经尝试过:

1) 使用 JSONP 执行一个请求,返回菜单的 html。 ajax调用返回带有html的HTML;但是,由于 User.IsAuthenticated 为 false,菜单将返回为空。

2) 我们创建了一个用户控件,并将其与 SecurityApp 项目的 dll 一起包含在内,这样就可以工作了;但是,我们不希望在我们创建的每个应用程序中都包含 SecurityApp 项目的所有 dll(以及 web.config 中的所有应用程序设置)
我们希望实现尽可能简单,以便任何创建新应用程序的人都可以通过尽可能少的步骤将菜单添加到他们的应用程序中......有什么想法吗?

澄清一下 - 我们正在使用 ASP.NET MVC 1.0,因为这些应用程序正在生产中,我们无权使用 ASP.NET MVC 2.0(不幸的是)

We have several asp.net MVC apps in the following setup

SecurityApp (root application - handles forms auth for SSO and has a profile edit page)
Application1 (virtual directory)
Application2 (virtual directory)
Application3 (virtual directory)

so that domain.com points to SecurityApp and domain.com/Application1 etc point to their associated virtual directories. All of our Single Sign On (SSO) is working properly using forms authentication.

Based on the users permissions when logging in a menu that lists their available applications and a logout link will be generated and saved in the cache - this menu displays fine whenever the user is in the SecurityApp (editing their profile) but we cannot figure out how to get the Applications in the virtual directories to display the same application menu.

We have tried:

1) Using JSONP to do an request that will return the html for the menu. The ajax call returns the HTML with the html; however, because User.IsAuthenticated is false the menu comes back empty.

2) We created a user control and include it along with the dll's for the SecurityApp project and this works; however, we dont want to have to include all the dlls for the SecurityApp project in every application that we create (along with all the app settings in the web.config)

We would like this to be as simple as possible to implement so that anyone creating a new app can add the menu to their application in as few steps as possible... Any ideas?

To Clarify - we are using ASP.NET MVC 1.0 since these apps are in production and we do not have the okay to go to ASP.NET MVC 2.0 (unfortunately)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

娇女薄笑 2024-08-27 08:29:34

您是否考虑过使用单一项目区域?

区域允许您将应用程序划分为离散的功能区域。它有助于使大型应用程序的管理更加易于管理,并允许创建可以放入整个应用程序的不同小程序。

这里有一个适用于 MVC 1.0 的区域版本: http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

Have you thought about using Single Project Areas?

Areas allows you to partition your application into discrete areas of functionality. It helps make managing a large application more manageable and allows for creating distinct applets that you can drop into an overall application.

There is a version of Areas that works in MVC 1.0 available here: http://haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文