【问题标题】:problems Integrating an asp.net website into an asp.net mvc 4 application问题将 asp.net 网站集成到 asp.net mvc 4 应用程序中
【发布时间】:2013-08-19 20:52:24
【问题描述】:

我正在创建一个 asp.net mvc 4 应用程序来替换一套现有项目 包括一个 asp.net 3.5 网站和 windows 窗体。

我花了几个月的时间从头开始开发 asp.net mvc 4 应用程序,并且 我一直专注于 windows 窗体应用程序。

我现在正在尝试集成 asp.net 3.5 网站....现在我只是在尝试 将网站添加到项目中。我一直在寻找如何做到这一点,我明白了 大部分是我需要的……但我有一些问题。

我正在使用区域。对于运营商区域(网站适用的地方),我添加了 一个名为 aspnet 的文件夹...我已将网页和其他代码添加到此文件夹 文件夹....所有这些都可以编译。

我还通过添加以下行修改了 RoutConfig.Cs 文件: routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");

当我将网页添加到项目中时,我只添加了代码,而忽略了 项目文件和 asp.net 网站的 web.config .....

我认为我根本不需要转换项目文件......但我是 试图弄清楚如何处理 web.config....我知道我可以拥有 aspnet 文件夹中的 web.config....但是我的问题是要放入什么.....

我尝试只复制现有文件,但它有不同的问题 .net版本(网站是v3.5,mvc应用是.net的v4.0)....

我最关心的是如何处理安全性...网站使用表单身份验证安全性 并且 mvc 应用程序使用 simpleMembership。

我所做的所有阅读都集中在转换 asp.net Web 应用程序上, 不是网站到 mvc .....而且大多数关于 web.config 的内容不多 文件……

我也没有找到如何处理安全性...我再次看到了一些东西 关于将 MVC 的安全模型重新集成到现有的 asp.net Web 应用程序中, 但没有关于如何让一个使用 mvc simplemembership 的 asp.net 网站。

救命!!

【问题讨论】:

  • 请说明您的具体问题是什么?你试过什么?发布一些代码
  • 我的问题是弄清楚必须修改哪些内容才能使 asp.net 网站在 asp.net mvc 应用程序中工作......我认为这只是 web.config ...... .我现在正在研究这个....试图找出必须添加的内容...
  • 我很困惑..我正在寻找一些关于如何将 asp.net 网站安装到现有 asp.net mvc 应用程序中的一般指南,因为我找不到任何关于此的内容.. ..原来我的问题不是asp.net ....而是一个devexpress控件....我仍然没有解决问题,但现在我知道足够的解决方案....感谢所有参加是时候阅读这篇文章了。

标签: asp.net asp.net-mvc-4 forms-authentication simplemembership


【解决方案1】:

Web 表单和 MVC 都使用表单身份验证来确保安全。不同的是所使用的成员资格/角色提供者。 Web 表单传统上使用默认的 ASP.NET 提供程序,而 MVC 现在使用 SimpleMembership 提供程序。这是 web.config 中用于配置 SimpleMembership 提供程序的设置。

<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
  <providers>
    <clear/>
    <add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
  </providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
  <providers>
    <clear/>
    <add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
  </providers>
</membership>
</system.web>

请注意,您配置表单身份验证的方式与 Web 表单相同。主要区别是将角色和成员资格提供者分别设置为SimpleRoleProviderSimpleMembershipProvider。您需要在引用中包含程序集 WebMatrix.WebData。 SimpleMembership 首先使用 EF 代码,因此在应用程序启动时初始化数据库至关重要。阅读seeding and customizing SimpleMembership 上的这篇文章,它将为您提供一些关于如何在应用程序中处理数据库初始化的提示。有一个名为SimpleSecurity 的开源项目将 SimpleMembership 与应用程序解耦,这将更容易合并到您的项目中,并提供一个简单的方法调用来初始化它。你可以read more about it here

【讨论】:

    猜你喜欢
    • 2010-10-05
    • 2021-06-18
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多