会员资格 [英] Membership
问题描述
我正在使用成员资格类通过调用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屋!