在较新的MVC和较旧的VB.Net项目之间共享表单身份验证

时间:2014-11-19 14:45:26

标签: c# asp.net asp.net-mvc vb.net authentication

我的公司有一个旧的3.5 webforms VB.Net应用程序,需要与更新的框架4.5.1 MVC5 C#.Net应用程序共享身份验证。

较新的应用程序基于流行的默认MVC5模板,使用Forms身份验证,将身份验证存储为令牌,据我所知。

旧的VB应用程序目前没有安全性,但需要共享新应用程序的身份验证。我发现了很多关于这个的帖子和文章,但是我没有达到一个有效的例子。

我已将两个站点的web.config文件配置为具有相同的(defaultUrl除外)身份验证和机器密钥段;请参阅下面的snip以获取旧的VB.Net应用程序:

<authentication mode="Forms">
      <forms name=".ASPXAUTH" loginUrl="../MVCApp/Account/Login"
         defaultUrl="Home.aspx" protection="All" path="/" timeout="20" slidingExpiration="true" cookieless="UseCookies"
         enableCrossAppRedirects ="true" domain="localhost" requireSSL="false"/>
    </authentication>
    <machineKey decryptionKey="A225194E99BCCB0F6B92BC9D82F12C2907BD07CF069BC8B4"
                validationKey="6FA5B7DB89076816248243B8FD7336CCA360DAF8"
                validation="SHA1" decryption="AES" />

我已在IIS下本地安装了两个站点,分别为“localhost / VBApp”和“localhost / MVCApp”。我被困的地方是,我现在该怎么办?

我可以登录MVCapp并单击一个链接转到VBApp,它加载正常,但似乎没有收到身份验证票证。如果我在VBApp的web.config中使用deny users =?进行授权段,我就无法进入。我是否希望从MVCApp读取身份验证票证,并手动将IsAuthenticated设置为true?我想我正在寻找的是一个很好的教程,可能会更加深入地分享这种类型的身份验证。

感谢您的时间。

0 个答案:

没有答案