会员资格 [英] Membership

查看:75
本文介绍了会员资格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用成员资格类通过调用validate()方法来验证用户身份(用户名="Guest",Password ="guest",该用户存在于数据库中).im发布代码我在我的项目中所做的工作很好地解释了我的问题:

I am using membership class to validate user(user name="Guest",Password="guest",this user exist in database) by calling validate() method.i m posting code what i did in my project to explain well my question:

private void Page_Init(object sender, EventArgs e)
{
            MembershipUser user;
            if (!User.Identity.IsAuthenticated)
            {
                Membership.ValidateUser("Guest","guest");
                FormsAuthentication.SetAuthCookie("Guest", false);
                user = Membership.GetUser("Guest");
               var b=Context.User.Identity.Name;
                
            }
}
 protected void Page_Load(object sender, EventArgs e)
{

  MembershipUser user=Membership.GetUser();

}



当我通过放置断点检查用户"变量时出现问题.它显示NULL.我不理解此问题,因为当我正在验证Page_Init()方法中的用户并通过调用Membership.GetUser()方法访问登录的用户时.据我说,它应该返回来宾"
plz 请帮帮我. 它很紧急



problems comes when I am checking "user" variable by putting break point. it shows NULL. I don''t understand this problem because as I am validating user in Page_Init() method and accessing logged in user by calling Membership.GetUser() method. According to me it should return "Guest"
plz Please help me out. Its urgent

推荐答案

在Page_Init中,您将创建一个MembershipUser类型的局部范围变量用户. Page_Init完成时,该对象将丢失,其他方法将看不到该对象.您将需要存储在Page_Init中创建的用户对象,然后只需使用该存储的对象,而不是尝试在Page_Load中创建一个新的对象.
In Page_Init you are creating a local scoped variable user of type MembershipUser. That object will be lost when Page_Init completes and will not be visible to other methods. You will need to store the user object that you have created in Page_Init, and then you will simply need to use that stored object instead of trying to create a new one in Page_Load.


这篇关于会员资格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆