.Net登录onloggedin,是User.Identity null?

时间:2009-12-23 16:33:19

标签: asp.net-membership login-control loginview

我有一个带有onloggedin事件处理程序的.Net登录控件。

onloggedin="Login2_LoggedIn"

但User.Identity始终为null。

 protected void Login2_LoggedIn(object sender, EventArgs e)
{
    // Is User is Admin
    if (Roles.IsUserInRole(User.Identity.Name, "admin"))

此时应该可以使用吗? 或者我应该从对象发送者或EventArgs e?

获取用户名

1 个答案:

答案 0 :(得分:8)

Page.User在身份验证后回发页面后才可用,因此在托管登录控件的页面上它为空。但是,您仍然可以使用登录控件的UserName属性来调用该方法。这在LoggedIn事件处理程序中是安全的,因为此时用户已经过身份验证。

if (Roles.IsUserInRole(Login2.UserName, "admin"))
...