3

我继承了实现自定义profile提供程序的 MOSS 代码。设置似乎没问题(提供程序和 web.config)。

用户可以登录,但是,登录后,HttpContext.Current.Profile对象为空。为什么它是空的?应该如何/何时获得价值?

HttpContext.Current.User.Identity.Name登录后有值。

4

2 回答 2

0

迈克冯说:

通过配置文件提供程序,您必须从 SQL 服务器配置文件表中加载配置文件信息。

在 WebProfile 类的 GetProfile 函数中传递 UserName 参数。这个类是由一个工具生成的。

http://social.msdn.microsoft.com/Forums/da-DK/netfxbcl/thread/af78e6c0-03f5-4f2d-ad07-dd2a57304377

于 2013-03-07T16:00:47.417 回答
0

尝试 ProfileBase.Create(username, isAuthenticated)

公共静态 System.Web.Profile.ProfileBase 创建(字符串用户名,布尔 isAuthenticated)
    System.Web.Profile.ProfileBase 的成员

概括:
由 ASP.NET 用于为指定的用户名创建配置文件的实例。接受一个参数,指示用户是经过身份验证的还是匿名的。

参数:
用户名:要为其创建配置文件的用户名。
isAuthenticated: true 表示用户已通过身份验证;false 表示用户是匿名的。

回报:
一个 System.Web.Profile.ProfileBase 对象,表示指定用户的配置文件。
于 2013-10-09T12:22:28.377 回答