2011-02-08 2 views
0

가장 잘 알려진 솔루션을 사용하여 TaskList의 Schema.xml에서 "내 그룹별로"보기를 만들었습니다.Sharepoint 2010 목록보기 문제 : 그룹 선택을위한 CAML 쿼리가 작동하지 않음

<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보기를 표시하는 방법에 대한 아이디어가 있습니까?

답변

0

죄송합니다. 내 잘못입니다. 문제는 맞춤 멤버쉽 제공 업체에서 발생했습니다. 약간의 혼란이있었습니다 (회원 자격 인증은 CardId를 로그인으로 사용하고 SharePoint 로그인은 Name + Sameame과 같았습니다). 그 이유는 <Membership Type="CurrentUserGroups">에 UserGroups가 없기 때문입니다. 로그인 이름 + 성으로 사용자에게 할당 된 SharePoint 그룹에있는 동안 로그인 'CardId'를 사용하는 해당 사용자 였기 때문입니다.

첫 번째 질문에 stackoverflow 실패했습니다^_ ^.