从sharepoint组获取用户并重定向

时间:2015-02-06 09:22:33

标签: sharepoint sharepoint-2010 sharepoint-object-model

我的要求是当有人登录网站并且他是否属于“所有者”时。组需要立即重定向到特定站点,如果他属于成员组,则需要导航/重定向到同一指定站点的其他页面。

2 个答案:

答案 0 :(得分:2)

一个非常简单的解决方案可能是使用SPSecurityTrimmedControl。它的作用是只有在用户满足指定的访问权限时才添加控件内的任何内容。

因此,您可以做的是将控件的权限设置为完全控制,并包含一个简单的重定向JavaScript。然后,在控件之外,将重定向脚本添加到其他控件。如下所示:

<SharePoint:SPSecurityTrimmedControl ID="SPSecurityTrimmedControl1" runat="server" AuthenticationRestrictions="AuthenticatedUsersOnly" Permissions="ManageWeb" PermissionContext="CurrentSite">  
    <script type='text/javascript'>javascript to redirect owners</script>
</SharePoint:SPSecurityTrimmedControl> 
<script type='text/javascript'>javascript to redirect readers</script>

因此,如果用户是所有者,则页面上将显示所有者重定向sscript,如果没有,则会重定向到读者页面。

答案 1 :(得分:0)

由于它是在SP2010中,我假设我们使用服务器端C#代码而不是CSOM,这在SP2010中尚未成熟。

  1. 创建一个静态帮助方法,如:

    public static bool IsInGroup(此SPUser用户,SPGroup组)       {         return user.Groups.Cast()           .Any(g =&gt; g.ID == group.ID);       }    }

  2. 在您的代码中验证用户是否属于某个群组

    SPUser用户; SPGroup集团; bool belongsToGroup = user.InGroup(group);

  3. 使用SPUtility.Redirect将用户重定向到您需要的任何页面。

  4. 希望这会有所帮助。