我有一个带有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?
获取用户名答案 0 :(得分:8)
Page.User在身份验证后回发页面后才可用,因此在托管登录控件的页面上它为空。但是,您仍然可以使用登录控件的UserName属性来调用该方法。这在LoggedIn事件处理程序中是安全的,因为此时用户已经过身份验证。
if (Roles.IsUserInRole(Login2.UserName, "admin"))
...