asp.net-mvc – 如何在Web表单和MVC2应用程序之间共享基于.net(C#)的身份验证会话?

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 如何在Web表单和MVC2应用程序之间共享基于.net(C#)的身份验证会话?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们在业余时间使用当时可用的最新mvc3和Entity Framework .net库构建了一个小应用程序,并进行了部署.管理层喜欢它,他们希望将它集成到繁重的.net 3.5 Web表单应用程序中.

我需要以某种方式在两个应用程序中使用相同的身份验证会话.我使用相同的数据库和应用程序使用.net成员资格和配置文件提供程序进行身份验证.这工作正常,但即使用户已经登录主应用程序,用户也必须单独登录MVC应用程序.我对任何建议持开放态度:enabling state session at a different level,或shared cookies

绕过此登录要求的最佳方法是什么?是否应将mvc应用程序集成到webforms中或将其保留为独立应用程序?影响决策的主要问题是完全集成以及以后维护应用程序所需的时间.

解决方法

首先,一个应用程序是ASP.NET MVC的事实确实没有区别:)

其次,这是从MSDN做什么的一个例子:

http://msdn.microsoft.com/en-us/library/eb0zx8fc.aspx

页面的小片段:

<configuration>
  <system.web>
    <authentication mode="Forms" >
      <!-- The name,protection,and path attributes must match 
           exactly in each Web.config file. -->
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" 
        protection="All"  
        path="/" 
        domain="contoso.com" 
        timeout="30" />
    </authentication>

    <!-- Validation and decryption keys must exactly match and cannot
         be set to "AutoGenerate". The validation and decryption
         algorithms must also be the same. -->
    <machineKey
      validationKey="C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" 
      decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F" 
      validation="SHA1" />
  </system.web>
</configuration>

.

附:

StriplingWarrior关于合并两个应用程序的建议虽然不是真正需要但可能对将来的集成非常有用.你可能以后最终会这样做.

猜你在找的asp.Net相关文章