钉钉环境部分Anroid手机,微信、企业微信pc版,登录失败的解决办法

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

钉钉环境部分Anroid手机,微信、企业微信pc版,登录失败的解决办法

原始反馈:

      1、钉钉环境,使用第三方集成方案接入金蝶云星空,提示:登录状态丢失;
      2、使用微信、企业微信pc端访问金蝶云星空,提示:登录状态丢失后;


原因分析:

      1、windows服务器 .netframework   4.7.2版本,sameSite 默认值是Lax,4.7.2以前的版本默认值是None;(Lax表示不允许跨域,None表示可以跨域);
      2、按说即使sameSite设置为Lax,不跨域的话,也不会发生session丢失的情况,但是钉钉认为:访问不同的页面也是跨域。。结果就是,session丢失,从而导致页面显示登录失败; 
      3、目前只在钉钉环境,部分安卓机型中发生,跟这些机型webview的内核有关 ;
      4、目前钉钉的回复;“暂时只能通过修改samesite解决”

 

解决办法:

     只需要修改服务器配置即可,不需要写代码 (.netframework 版本在 4.7.2以下不会登录失败,不需要解决);
     1、确保服务器对应的.netframework 版本在 4.7.2及以上,如果不是这个版本以上修改会报错;
     2、修改前一定要备份,修改webconfig,确保包含以下配置:

  <configuration> 
  <appSettings>
    <add key="aspnet:SuppressSameSiteNone" value="true" />
  </appSettings> 
  <system.web> 
    <authentication> 
      <forms cookieSameSite="None" /> 
    </authentication> 
    <sessionState cookieSameSite="None" /> 
  </system.web> 
  </configuration>
   修改示例,修改前一定要备份:

Image_20200528150616.webp

    3、注意:

         3.1、部署为http时,与钉钉沟通结果,跨域需要配置httpOnlyCookies="false"

                 <httpCookies httpOnlyCookies="false" />

                 如果还是登录状态丢失,可以尝试

                 <httpCookies httpOnlyCookies="true" />

                 因为钉钉用的UC内核,不是标准的Chrome内核钉钉后期会不会按标准更新,需要询问钉钉客服,跨域支持方式需要看钉钉UC内核您当前用的钉钉版本按哪种模式走

         3.2、部署为https时,HTTP标准规范HTTPS跨域cookie必须配置了secure, httponly;samesite=None 参数;

                 <httpCookies httpOnlyCookies="true" requireSSL="true" />

                配置secure, httponly;

                参考:https://vip.kingdee.com/article/146280    配置【IsAspNetSecureCookie】和 【IsSecureCookie】两个参数;

                 如果用钉钉、企业微信还是出现登录状态丢失,可以尝试

                 <httpCookies httpOnlyCookies="false" requireSSL="true" />

                 如果两种方式都不行,需要询问使用的APP官方客服,跨域支持方式需要看APP内核您当前用的APP版本按哪种模式走

    4、修改后,重启iis;

    5、配置时不要直接复制帖子里的内容,空格被转义了。复制进IIS会出错。


Tip1:查询.netframwork版本的dos命令:

           cd %WINDIR%\Microsoft.NET\Framework\v4.0.30319
           MSBuild /version 
Tip2:在 ASP.NET 中使用 SameSite cookie 的相关知识:
           https://docs.microsoft.com/zh-cn/aspnet/samesite/system-web-samesite#known

Tip3:标准规范SameSite相关知识:

           https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value

Tip4:第三方系统页面通过iframe嵌套或跳转,提示session超时的解决方案

           https://vip.kingdee.com/article/248086666613861376

钉钉环境部分Anroid手机,微信、企业微信pc版,登录失败的解决办法

原始反馈: 1、钉钉环境,使用第三方集成方案接入金蝶云星空,提示:登录状态丢失; 2、使用微信、企业微信pc端访问金蝶云...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息