【问题标题】:Sharepoint Online / Excel Services / Delegated authentificationSharepoint Online / Excel Services / 委托身份验证
【发布时间】:2014-09-03 21:34:37
【问题描述】:

我们有一个 asp.net MVC 应用程序,用户通过 azure Active Directory 进行连接。他们可以通过他们的 sharepoint 在线帐户管理文件。

要在线访问共享点,我们使用CSOM。我们希望连接到 azure Active Directory 的用户使用他的帐户来操作文件而无需填写凭据。为此,我们将访问令牌附加到请求的标头以进行身份​​验证。它工作正常。

现在我们想在 sharepoint online 中使用 excel services SOAP API。要进行身份验证,我们必须填写凭据。我们如何绕过它并通过登录用户进行身份验证?

编辑: 您可以在下面看到使用当前用户上下文访问共享点资源的代码。

using (ClientContext context = new ClientContext("https://myServer.sharepoint.com"))
{
      context.ExecutingWebRequest += ExecutingWebRequest;

       context.Load(context.Web.Lists);
       context.ExecuteQuery();

       // Do some stuff with lists ...
 }

private void ExecutingWebRequest(object sender, WebRequestEventArgs e)
{
   e.WebRequestExecutor.WebRequest.Headers.Add("Authorization", "Bearer " + accessToken);
}

我需要做这样的事情来使用当前用户上下文访问 excel 服务 web 服务。

【问题讨论】:

    标签: asp.net-mvc-4 oauth-2.0 azure-active-directory csom sharepoint-online


    【解决方案1】:

    虽然大多数应用程序需要身份验证才能访问私人信息或执行任务,但并非每种身份验证方法都能够提供足够的安全性。对安全威胁的疏忽、无知或简单的轻描淡写通常会导致身份验证方案被绕过,只需跳过登录页面并直接调用应该仅在执行身份验证后才能访问的内部页面即可。

    此外,通常可以通过篡改请求并诱使应用程序认为用户已经通过身份验证来绕过身份验证措施。这可以通过修改给定的 URL 参数、操作表单或伪造会话来实现。

    与身份验证架构相关的问题可以在软件开发生命周期 (SDLC) 的不同阶段发现,例如设计、开发和部署阶段:

    在设计阶段,错误可能包括对要保护的应用程序部分的错误定义、选择不应用强加密协议来保护凭证传输的选择等等。 在开发阶段,错误可能包括输入验证功能的错误实现或未遵循特定语言的安全最佳实践。 在应用程序部署阶段,由于缺乏所需的技术技能或缺乏良好的文档,在应用程序设置(安装和配置活动)期间可能会出现问题。

    if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ||
    {
    $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ?
    unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array();
    $sessionmethod = SESSION_METHOD_COOKIE;
    }
    if( md5($password) == $row['user_password'] && $row['user_active'] )
    {
    $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;
    }
    

    【讨论】:

    • 感谢您的回复,但您并没有真正回答我的问题。我需要使用通过 Azure Active Directory 登录的用户的当前上下文访问 excel 服务 web 服务(托管在 sharepoint 中)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-16
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多