加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 跨虚拟目录的表单身份验证

发布时间:2020-12-16 06:48:50 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试将表单auth从根应用程序共享到在虚拟目录中运行的子应用程序.我在子网站中进行身份验证时遇到问题. 在父应用程序中,一切都按预期工作. 我有以下设置: 家长申请: URL:http:// localhost:1336 / forms loginUrl =“?/ account / sign-in”prote
我正在尝试将表单auth从根应用程序共享到在虚拟目录中运行的子应用程序.我在子网站中进行身份验证时遇到问题.

在父应用程序中,一切都按预期工作.

我有以下设置:

家长申请:

> URL:http:// localhost:1336 /
>< forms loginUrl =“?/ account / sign-in”protection =“All”timeout =“30”name =“.MYAPPLICATION”path =“/”requireSSL =“false”slidingExpiration =“true”cookieless =“UseDeviceProfile “enableCrossAppRedirects =”true“defaultUrl =”/“/>

虚拟目录:

> URL:http:// localhost:1336 / subsite
>< forms loginUrl =“/ account / sign-in”protection =“All”timeout =“30”name =“.MYAPPLICATION”path =“/”requireSSL =“false”slidingExpiration =“true”cookieless =“UseDeviceProfile” enableCrossAppRedirects =“true”defaultUrl =“/”/>

当我尝试http:// localhost:1336 / subsite时,我得到以下流程:

> GET for http:// localhost:1336 / subsite – > 302到/ account / sign-in?ReturnUrl = / subsite(看起来不错)
>输入用户/密码
> POST到http:// localhost:1336 / account / sign-in?ReturnUrl = / subsite – > 302 / subsite(伟大的auth看起来像它的成功)
> GET for http:// localhost:1336 / subsite – > 302到/ account / sign-in?ReturnUrl = / subsite(IE子网站不认为其经过身份验证)

此外,我可以在浏览器的列表中看到cookie(所以它实际上在那里)

我的配置中有什么错误阻止我的子网站共享父cookie?

我在IISExpress上运行它

解决方法

在web.config文件中,在项目之间设置公共计算机密钥,以便2个域共享验证和解密密钥.

例:

<machineKey validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7" 
decryptionKey="ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F"
validation="SHA1"
decryption="AES"
/>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读