0

我使用最知名的解决方案在 Schema.xml 中为 TaskList 创建了一个“按我的组”视图:

<Query>
  <Where>
     <Or>
      <Membership Type="CurrentUserGroups">
        <FieldRef Name="AssignedTo"/>
      </Membership>
      <Eq>
        <FieldRef Name="AssignedTo"/>
        <Value Type="Integer">
          <UserID/>
        </Value>
      </Eq>
    </Or>
  </Where>
</Query>

但是,它对我不起作用......可能的原因:我正在使用带有令牌的 FBA 身份验证(我注意到,登录后

SPFederationAuthenticationModule.SetPrincipalAndWriteSessionToken(securityToken);

用户从 SharePoint 组中消失)。但!我检查了下一个查询:

string camlquery = 
"<Where>
      <Eq>
          <FieldRef Name=\"AssignedTo\" />
          <Value Type=\"Text\">" + SPContext.Current.Web.CurrentUser.Groups[0].Name+ "</Value>
      </Eq>
</Where>";

它奏效了!

问题是我无法插入

SPContext.Current.Web.CurrentUser.Groups[0].Name

进入 Schema.xml 标记

关于为相应的 UserGroup 呈现 TaskList 视图的任何想法?

4

1 回答 1

0

对不起,我的错。问题出在自定义成员资格提供程序中。有点混乱(会员身份验证使用 CardId 作为登录名,而在 SharePoint 中登录就像姓名+姓氏)。这就是为什么<Membership Type="CurrentUserGroups">没有用户组的原因,因为它是登录名“CardId”的对应用户,而在 SharePoint 组中分配给登录名+姓氏的用户。

关于stackoverflow的第一个问题失败了^_^。

于 2011-03-01T07:41:04.613 回答