如何在SharePoint中设置当前用户名?

时间:2009-11-26 12:12:22

标签: c# asp.net .net visual-studio-2008 sharepoint-2007

我在Windows Server 2008 Enterprise中使用SharePiont Server 2007 Enterprise。我正在使用VSTS 2008 + C#+ .Net 3.5进行开发。我想知道SharePoint是否有办法将当前用户设置为某个特定用户?例如,我想在人们从特定IP地址连接以授予此类人员高权限时自动将用户设置为管理员。另一个例子是当人们使用特殊连接字符串连接我的sie时,如http://example.org/default.aspx?specialtestuser=foo,然后我将当前用户设置为foo。感谢是否要引用任何代码示例?

2 个答案:

答案 0 :(得分:2)

在Sharepoint中,您可以使用模拟来代替特定用户执行代码。您还可以使用此技术以更高的特权运行代码的某些部分(优于为用户提供完全高的特权)。这里只有2个链接,但如果您在网上搜索Sharepoint和Impersonation,您会找到更多链接。

MSDN on impersonation and other tricks

Impersonation in Sharepoint 2007

我希望这会有所帮助


这里有另一个链接,建议设置一些HTTP模块,看起来有点像你想要做的: siteminder and sharepoint 2007

但我从未尝试过这个,所以我无法帮助你。

答案 1 :(得分:2)

SharePoint 2007完全支持.NET提供程序模型,因此您可以使用MembershipProvider模型(SharePoint内置提供程序是LdapMembershipProvider和LdapRoleProvider),它支持基于表单以及任何自定义身份验证/授权体系结构。您可以从Membership全局对象设置当前用户。我的警告是,如果您选择这种方法,将在整个代码中完全使用Membership和Roles对象。

Nishant的博客对MOSS和AD相关的任何内容非常有用,并且有这篇文章: http://blogs.technet.com/nishants/archive/2009/05/22/how-to-configure-forms-based-authentication-active-directory-ldapmembership.aspx