SharePoint Online外部用户访问被拒绝

问题描述

首先创建一个Office 365租户,在这个案例中假设租户名为My Company 。
启用这个租户中SharePoint Online组件的外部用户访问功能。
在启用外部用户访问功能后My Company中用户可以通过电子邮件的形式来邀请外部用户访问My Company的站点资源。
当一个外部用户(John)在他的企业邮箱中收到了访问邀请邮件,John点击其中的邀请链接,会跳转到一个类似如下图所示的页面。
1
在这个页面中用户可以选择使用两种类型的账号来登录邀请方的SharePoint Online站点
1. 微软账号,类似@hotmail.com、@outlook这样免费个人账号。
2. 组织账号,这个组织账号必须已经在O365某个租户中存在。而不能是单纯的本地企业域账号

由于目前我们邀请的外部用户(John)还没有使用O365,所以也就意味着他目前暂时不能选择第二个选项。

所以做为外部用户,John在此选择了第一个选项,登录并验证了他个人的Live ID(John.Doe@hotmail.com)。

当John完成了上述的步骤后,John就能以外部用户John.Doe@hotmail.com的身份来访问My Company的站点资源。
2

假设在不久之后John的公司也开始使用O365,并完成了企业本地域账号到O365 后端Azure AD的同步。

完成账号同步后,John可以以John.Doe@EnterpriseEmail.com这样的账号来访问他自己公司的O365 租户(EnterpeiseEmail.Onmicrosoft.com)
3

这时问题就会出现,John发现使用公司域内的机器,使用之前一样的访问方式来访问MyCompany.sharepoint.com这个租户的时候,出现错误,提示无法找到这个用户。
4

问题分析
由于John使用的本地客户端可能是域环境中的机器,以及在浏览器中勾选了“记住账户”的选项,在Windows集成身份验证下,John每次通过浏览器去访问MyCompany.sharepoint.com,传递给O365的身份信息都只是John.Doe@EnterpriseEmail.com,而不会是John.Doe@hotnmail.com.从而导致了错误现象的发生。

解决方案
1. 建议John在本地域内机器上,当需要访问其他O365租户时启用浏览器的隐私模式,这样每次登录站点会提示用户输入相应的身份凭证。
2. 在MyCompay租户中删除这个既有的John外部访问用户,然后重新发送邀请邮件给John。
当John受到邀请邮件的时候,由于他目前阶段已经把企业账户在他自己的O365租户中启用,必须选择第二个选项,通过John.Doe@EnterpriseEmail.com这个账号来完成外部用户的注册。

Jia Liu
Partner Technical Consultant