在Sharepoint 2010中使用基于表单的身份验证时,假设用户使用用户名"admin"登录,我们的自定义成员身份提供程序名称为"FBAProvider"。在使用此帐户登录后,显示的已登录用户名类似于"i:0#.|FBAProvider|admin"。如何使其显示为应该只是"admin"?谢谢。
你使用什么代码来显示用户名?SPContext.Current.Web.CurrentUser 将会给你一个 SPUser 对象。那里有许多可以使用的属性,假设你的用户信息列表中有正确的信息(如果用户只使用"admin"而不是"FBAProvider::admin"登录时必须如此)。找到包含你寻找的显示信息的字段。 我猜可能是 Email, LoginName 或者 Name
我曾经遇到过同样的问题,并发现它似乎与对数据库的权限有关。该网站的应用程序池正在运行为NetworkSystem,当我把它改成LocalSystem时,用户名就会显示出来。 我建议确保您的应用程序池身份具有访问ASP数据库的权限。