代码之家  ›  专栏  ›  技术社区  ›  netadictos

我如何知道您已登录SharePoint网页?

  •  3
  • netadictos  · 技术社区  · 17 年前

    我们使用SharePoint作为工作网页的CMS。我知道如何创建仅当您使用以下方式登录到SharePoint时才可见的控件:

    <SharePoint:spSecurityTrimmedControl id=“spSecurityTrimmedControl1”runat=“server”permissionsString=“AddAndCustomizePages”><br/>
    <sharepoint:csslink id=“csslink1”runat=“server”/>gt;<br/>gt;
    </SharePoint:SPSecurityTrimmedControl>

    但我想知道如何根据权限以编程方式使控件可见(或其他)。

    我无法使用.NET Windows窗体身份验证的方法,例如:

            if (!(HttpContext.Current.User == null) && HttpContext.Current.User.Identity.IsAuthenticated){}
    

    因为我们将它用于匿名用户,他们有另一种登录类型。

    你能提供一些代码吗?我知道这必须类似于验证spContext.current.formContext。

    3 回复  |  直到 17 年前
        1
  •  4
  •   strongopinions    17 年前

    如何对用户进行身份验证?使用窗体身份验证还是Windows/Active Directory?

    如果是Active Directory,那么我认为在这种情况下,您可能需要获取对当前SPWeb的引用,然后执行web.currentuser.id。当您匿名时,这可能会显示为空。如果没有,请尝试web.siteusers.getbyid(web.currentuser.id)并查看您得到了什么。

        2
  •  1
  •   Øyvind Skaar    17 年前

    DoesUserHavePermissions

    您可以在当前网站上使用此方法检查当前用户是否具有特定权限。

    我假设您的认证用户有权检查匿名群是否被拒绝。

        3
  •  0
  •   Jason    17 年前

    虽然我还没有测试它,但我认为spuser对象的loginname属性将为空,或者抛出一个异常。

    …当然,在与SharePoint OM进行交易时,假设任何事情都是不安全的:(

    推荐文章