我们在业余时间使用当时可用的最新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关于合并两个应用程序的建议虽然不是真正需要但可能对将来的集成非常有用.你可能以后最终会这样做.