asp.net2 membership常见问题总结-YuLei's
1.登陆验证代码
 if (Membership.ValidateUser(userName.Text, password.Text))
if (Membership.ValidateUser(userName.Text, password.Text)) {
{ if (Request.QueryString["ReturnUrl"] != null)
if (Request.QueryString["ReturnUrl"] != null) {
  { FormsAuthentication.RedirectFromLoginPage(userName.Text, false);
    FormsAuthentication.RedirectFromLoginPage(userName.Text, false); }
  } else
  else {
  { FormsAuthentication.SetAuthCookie(userName.Text, false);
    FormsAuthentication.SetAuthCookie(userName.Text, false); }
  } }
} else
else {
{ Response.Write("Invalid UserID and Password");
 Response.Write("Invalid UserID and Password"); }
}
2.注册代码(通过profile扩展)
 MembershipCreateStatus ms;
  MembershipCreateStatus ms; MembershipUser newuser = Membership.CreateUser(TextBox1.Text, TextBox2.Text, TextBox4.Text, TextBox5.Text,TextBox6.Text,true, out ms);
  MembershipUser newuser = Membership.CreateUser(TextBox1.Text, TextBox2.Text, TextBox4.Text, TextBox5.Text,TextBox6.Text,true, out ms); if (ms == MembershipCreateStatus.Success)
 if (ms == MembershipCreateStatus.Success) {
 { ProfileCommon p = (ProfileCommon)ProfileCommon.Create(newuser.UserName, true);
ProfileCommon p = (ProfileCommon)ProfileCommon.Create(newuser.UserName, true); Roles.AddUserToRole(TextBox1.Text, "usermember");
 Roles.AddUserToRole(TextBox1.Text, "usermember");  p.telphone = TextBox7.Text.Trim();
p.telphone = TextBox7.Text.Trim(); p.QQ = TextBox8.Text.Trim();
 p.QQ = TextBox8.Text.Trim(); p.address = TextBox9.Text.Trim();
 p.address = TextBox9.Text.Trim(); p.Save();
 p.Save(); Roles.AddUserToRole(TextBox1.Text, "usergroup");      //添加新用户到usergroup角色组
Roles.AddUserToRole(TextBox1.Text, "usergroup");      //添加新用户到usergroup角色组 Server.Transfer("login.aspx");
Server.Transfer("login.aspx"); }
 } else
else {
{ string errorcode;
string errorcode; switch (ms)
 switch (ms) {
{ case MembershipCreateStatus.DuplicateUserName:
 case MembershipCreateStatus.DuplicateUserName: errorcode = "Username already exists.";
 errorcode = "Username already exists."; break;
break; }
} }
}对应的web.config中profile节点的配置如下;
 <profile enabled="true" defaultProvider="profileSqlMembershipProvider">
<profile enabled="true" defaultProvider="profileSqlMembershipProvider"> <providers>
<providers> <add name="profileSqlMembershipProvider"
<add name="profileSqlMembershipProvider"  type="System.Web.Profile.SqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"  connectionStringName="webshopConnectionString"/>
connectionStringName="webshopConnectionString"/> </providers>
</providers> <properties>
<properties> <add name="telphone" type="String"/>
<add name="telphone" type="String"/> <add name="QQ" type="String"/>
<add name="QQ" type="String"/> <add name="address" type="String"/>
<add name="address" type="String"/> </properties>
</properties> </profile>
</profile>
4.验证用户名是否存在代码
 MembershipUserCollection col = Membership.FindUsersByName(this.TextBox1.Text);
MembershipUserCollection col = Membership.FindUsersByName(this.TextBox1.Text); if (col.Count == 0)
if (col.Count == 0) Label1.Text = "恭喜您,可以注册";
Label1.Text = "恭喜您,可以注册";  else
else Label1.Text = "此用户已存在";
Label1.Text = "此用户已存在";5.判断用户是否登陆或者匿名代码
 if (HttpContext.Current.User.Identity.IsAuthenticated == true)
if (HttpContext.Current.User.Identity.IsAuthenticated == true) {
{  Label1.Text = "您是注册用户,欢迎您的注册";
Label1.Text = "您是注册用户,欢迎您的注册";  }
} else
else {
{  Label1.Text = "您是匿名用户,请注册";
Label1.Text = "您是匿名用户,请注册";  }
}6.获取当前用户名
 MembershipUser u;
MembershipUser u; u = Membership.GetUse(User.Identity.Name);
u = Membership.GetUse(User.Identity.Name); Label1.Text = u.UserName;
Label1.Text = u.UserName; 

以上是在做网站过程中遇到的一些问题总结,希望对大家有用,同时也欢迎大家给我留言,
 
                    
                     
                    
                 
                    
                 
 
        

 
   
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号