我正在尝试检查用户何时进行身份验证,并且我始终认为用户已通过身份验证。这是我的代码:
if( User.Identity.IsAuthenticated )
{
addProfiledata();
}
即使我登录并退出,这种情况也是如此。
我该如何纠正?
答案 0 :(得分:0)
请改为尝试:
if(HttpContext.Current.Request.IsAuthenticated) {
//put code for Authenticated user
}
或者替代
if(User.IsInRole("rolename")) {
//put code for Authenticated user
}
希望这会有所帮助!!
答案 1 :(得分:0)
如果您已经定义了用户角色,则应该对其进行处理,您正在使用LoginControl,我猜您正在使用其他登录控件(如loginview)处理唱歌,并希望您将用户角色分配给它。如果是这种情况,您可以使用LoginUser_LoggedIn事件
// suppose if you are willing to redirect a user according to his/her role protected void LoginUser_LoggedIn(object sender, EventArgs e) { if (string.IsNullOrEmpty(Request.QueryString["ReturnUrl"])) { // if user in role and authenticated if (Roles.IsUserInRole(LoginUser.UserName, "Developers")) { // add session and redirect to particular page Session.Add("developer", "Developers"); Response.Redirect("../Developers/devAccess.aspx");} } }