当前位置: 首页 > news >正文

湘潭县建设投资有限公司网站怎么做网站平台教程

湘潭县建设投资有限公司网站,怎么做网站平台教程,月夜影视在线观看免费完整版韩剧,网站建设青雀Membership学习记录 ---自定义成员资格用户类型及相关提供程序一#xff0e;Web.config文件配制 因Membership是基于Forms验证#xff0c;所以首先得在system.web节点下添加Forms验证节点#xff1a; authentication modeFormsforms nameWeb.config文件配制 因Membership是基于Forms验证所以首先得在system.web节点下添加Forms验证节点          authentication modeForms               forms nameWPFORMAUTH loginUrl~/Login.aspx timeout90/      /authentication 此节点的相关属性说明这里就没必要说了相信大家一看就明白。 接下来依然在system.web下添加membership节点 membership defaultProviderMyMembershipProvider               providers                    add nameMyMembershipProvider typeMyMembershipProvider requiresQuestionAndAnswerfalse connectionStringDatabaseConnectionString/               /providers /membership 再就是添加 rolemanager节点 roleManager cacheRolesInCookietrue defaultProviderMyRoleProvider enabledtrue       providers         clear/         add connectionStringNameDatabaseConnectionString applicationNamesimple nameMyRoleProvider typeMyRoleProvider/       /providers /roleManager 最后就是添加授权节点 authorization         allow rolesadmin,guest/         deny users*/  /authorization   二创建自定义成员资格用户 可以创建一个自定义成员资格用户方法是创建一个继承 MembershipUser 类的类然后包括公开其他用户值的属性。此外还可以向 MembershipUser 类添加方法和事件。调用 Membership 类以创建自定义 MembershipUser 的实例时将只调用由 MembershipUser 类定义的构造函数。如果 MembershipUser 实现包括其他构造函数重载则这些构造函数只能由为调用自定义构造函数而专门编写的应用程序代码调用。 代码示例演示一个继承 MembershipUser 类的简单自定义成员资格用户 public class MyMembershipUser:MembershipUser {      public MyMembershipUser(string providername,                                   string username,                                   object providerUserKey,                                   string email,                                   string passwordQuestion,                                   string comment,                                   bool isApproved,                                   bool isLockedOut,                                   DateTime creationDate,                                   DateTime lastLoginDate,                                   DateTime lastActivityDate,                                   DateTime lastPasswordChangedDate,                                   DateTime lastLockedOutDate,                                   string qq) : base(providername,                                        username,                                        providerUserKey,                                        email,                                        passwordQuestion,                                        comment,                                        isApproved,                                        isLockedOut,                                        creationDate,                                        lastLoginDate,                                        lastActivityDate,                                        lastPasswordChangedDate,                                        lastLockedOutDate)      {         this._qq qq;      }     private string _qq;     public string QQ     {         get { return _qq; }         set { _qq value; }     } }   三自定义提供程序 1.       创建自定义成员资格提供程序 创建一个自定义成员资格提供程序该提供程序支持自定义成员资格用户类型和自定义成员资格数据存储区。可以编写自定义成员资格提供程序的 GetUser 和 CreateUser 方法以返回自定义成员资格用户类型的对象。可以编写自定义成员资格提供程序的 UpdateUser 方法以采用自定义成员资格用户类型的对象作为输入。         using System; using System.Web; using System.Web.Security; using System.Data; using System.Data.SqlClient;   /// summary ///MyMembershipProvider 的摘要说明 /// /summary public class MyMembershipProvider:MembershipProvider {     private string _connectionString;       public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)     {         string connStringName config[connectionString];//这里去得到那个在web.config节点中配置的数据库连接字符串         this._connectionString System.Web.Configuration.WebConfigurationManager.ConnectionStrings[connStringName].ConnectionString;         base.Initialize(name, config);     }       public override string ApplicationName     {         get         {             return null;         }         set         {             //throw new Exception(The method or operation is not implemented.);         }     }       public override bool ChangePassword(string username, string oldPassword, string newPassword)     {         System.Data.SqlClient.SqlConnection conn new System.Data.SqlClient.SqlConnection(this._connectionString);           try         {             conn.Open();             string sql UPDATE Users SET PasswordnewPassword WHERE UserNameusername AND PasswordoldPassword;             System.Data.SqlClient.SqlCommand comm new System.Data.SqlClient.SqlCommand(sql, conn);             comm.Parameters.AddWithValue(username, username);             comm.Parameters.AddWithValue(oldPassword, oldPassword);             comm.Parameters.AddWithValue(newPassword, newPassword);               int result comm.ExecuteNonQuery();             if (result 0)                 return true;             else                 return false;         }         catch         {             return false;         }         finally         {             if (conn.State ! ConnectionState.Closed)                 conn.Close();             conn.Dispose();         }     }       public override bool ChangePasswordQuestionAndAnswer(string username, string password, string newPasswordQuestion, string newPasswordAnswer)     {         return false;     }       public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)     {         return this.CreateUser(username,password,email,,out status);     }           public  MembershipUser CreateUser(string username, string password, string email, string qq, out MembershipCreateStatus status)     {         System.Data.SqlClient.SqlConnection conn new System.Data.SqlClient.SqlConnection(this._connectionString);         try         {             conn.Open();             string sql INSERT INTO Users VALUES (username, password, email,qq);             System.Data.SqlClient.SqlCommand comm new System.Data.SqlClient.SqlCommand(sql, conn);             comm.Parameters.AddWithValue(username, username);             comm.Parameters.AddWithValue(password, password);             comm.Parameters.AddWithValue(email, email);             comm.Parameters.AddWithValue(qq, qq);             comm.ExecuteNonQuery();             conn.Close();               status MembershipCreateStatus.Success;                return (MyMembershipUser)GetUser(username, false);           }         catch (Exception ex)         {             status MembershipCreateStatus.UserRejected;             return null;         }     }     public override bool DeleteUser(string username, bool deleteAllRelatedData)     {         return false;     }       public override bool EnablePasswordReset     {         get         {             return false;         }     }       public override bool EnablePasswordRetrieval     {         get         {             return false;         }     }       public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords)     {         totalRecords 0;         return null;     }       public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)     {         totalRecords 0;         return null;     }       public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords)     {         totalRecords 0;         return null;     }       public override int GetNumberOfUsersOnline()     {         return 0;     }       public override string GetPassword(string username, string answer)     {         System.Data.SqlClient.SqlConnection conn new System.Data.SqlClient.SqlConnection(this._connectionString);           try         {             conn.Open();             string sql SELECT password FROM Users WHERE usernameusername;             System.Data.SqlClient.SqlCommand comm new System.Data.SqlClient.SqlCommand(sql, conn);             comm.Parameters.AddWithValue(username, username);               System.Data.SqlClient.SqlDataReader reader comm.ExecuteReader();             if (reader.HasRows)             {                 reader.Read();                 return reader.GetString(0);             }             else                 return null;         }         catch (Exception ex)         {             return null;         }         finally         {             if (conn.State ! ConnectionState.Closed)                 conn.Close();             conn.Dispose();         }     }       public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)     {         return null;     }       public override MembershipUser GetUser(string username, bool userIsOnline)     {         System.Data.SqlClient.SqlConnection conn new System.Data.SqlClient.SqlConnection(this._connectionString);           try         {             conn.Open();             string sql SELECT username,password,qq FROM Users WHERE usernameusername;             System.Data.SqlClient.SqlCommand comm new System.Data.SqlClient.SqlCommand(sql, conn);             comm.Parameters.AddWithValue(username, username);               System.Data.SqlClient.SqlDataReader reader comm.ExecuteReader();             if (reader.HasRows)             {                 reader.Read();                 MembershipUser user GetUserFromReader(reader);                   return user;             }             else                 return null;         }         catch (Exception ex)         {             return null;         }         finally         {             if (conn.State ! ConnectionState.Closed)                 conn.Close();             conn.Dispose();         }     }         private MyMembershipUser GetUserFromReader(SqlDataReader reader)     {           string username reader.GetString(0);         string email reader.GetString(1);           string qq String.Empty;         if (reader.GetValue(2) ! DBNull.Value)             qq reader.GetString(2);           MyMembershipUser u new MyMembershipUser(this.Name,                                               username,                                               string.Empty,                                               email,                                               string.Empty,                                               string.Empty, false, false, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now, qq);           return u;     }             public override string GetUserNameByEmail(string email)     {         return null;     }       public override int MaxInvalidPasswordAttempts     {         get         {             return 0;         }     }       public override int MinRequiredNonAlphanumericCharacters     {         get         {             return 0;         }     }       public override int PasswordAttemptWindow     {         get         {             return 0;         }     }       public override int MinRequiredPasswordLength     {         get         {             return 0;         }     }       public override MembershipPasswordFormat PasswordFormat     {         get         {             return MembershipPasswordFormat.Clear;         }     }       public override string PasswordStrengthRegularExpression     {         get         {             return null;         }     }       public override bool RequiresQuestionAndAnswer     {         get         {             return false;         }     }       public override bool RequiresUniqueEmail     {         get         {             return false;         }     }       public override string ResetPassword(string username, string answer)     {         return null;     }       public override bool UnlockUser(string userName)     {         return false;     }       public override void UpdateUser(MembershipUser user)     {       }       public override bool ValidateUser(string username, string password)     {         System.Data.SqlClient.SqlConnection conn new System.Data.SqlClient.SqlConnection(this._connectionString);         try         {               conn.Open();             string sql SELECT * FROM Users WHERE UserNameusername AND Passwordpassword;             System.Data.SqlClient.SqlCommand comm new System.Data.SqlClient.SqlCommand(sql, conn);             comm.Parameters.AddWithValue(username, username);             comm.Parameters.AddWithValue(password, password);               System.Data.SqlClient.SqlDataReader reader comm.ExecuteReader();               if (reader.HasRows)             {                      return true;             }             else             {                 return false;             }           }         catch (Exception ex)         {             return false;         }         finally         {             if (conn.State ! ConnectionState.Closed)                 conn.Close();             conn.Dispose();         }     }   }     2.       自定义角色提供程序 创建一个继承 System.Web.Security 命名空间中 RoleProvider 抽象类的类。RoleProvider 抽象类继承 System.Configuration.Provider 命名空间的 ProviderBase 抽象类。因此也必须实现 ProviderBase 类所需的成员。 using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Configuration.Provider; using System.Data.SqlClient;   /**//// summary /// MyRole 的摘要说明 /// /summary public class MyRoleProvider : RoleProvider {     public MyRoleProvider()     {         //         // TODO: 在此处添加构造函数逻辑         //     }       string connectionstring ConfigurationManager.ConnectionStrings[DatabaseConnectionString].ConnectionString.ToString();       public override void AddUsersToRoles(string[] usernames, string[] rolenames)     {         foreach (string rolename in rolenames)         {             if (!RoleExists(rolename))             {                 throw new ProviderException(Role name not found.);             }         }           foreach (string username in usernames)         {             if (username.Contains(,))             {                 throw new ArgumentException(User names cannot contain commas.);             }               foreach (string rolename in rolenames)             {                 if (IsUserInRole(username, rolename))                 {                     throw new ProviderException(User is already in role.);                 }             }         }             SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(INSERT INTO UsersInRoles (Username,Rolename) Values(Username, Rolename), conn);           SqlParameter userParm cmd.Parameters.Add(Username,SqlDbType.VarChar, 255);         SqlParameter roleParm cmd.Parameters.Add(Rolename, SqlDbType.VarChar, 255);            SqlTransaction tran null;           try         {             conn.Open();             tran conn.BeginTransaction();             cmd.Transaction tran;               foreach (string username in usernames)             {                 foreach (string rolename in rolenames)                 {                     userParm.Value username;                     roleParm.Value rolename;                     cmd.ExecuteNonQuery();                 }             }               tran.Commit();         }         catch (SqlException e)         {             try             {                 tran.Rollback();             }             catch {                 throw e;             }             }         finally         {             conn.Close();         }       }       public override string ApplicationName     {         get         {             throw new Exception(The method or operation is not implemented.);         }         set         {             throw new Exception(The method or operation is not implemented.);         }     }       public override void CreateRole(string rolename)     {         if (rolename.Contains(,))         {             throw new ArgumentException(Role names cannot contain commas.);         }           if (RoleExists(rolename))         {             throw new ProviderException(Role name already exists.);         }           SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(INSERT INTO Roles                 (Rolename)                 Values(Rolename), conn);           cmd.Parameters.Add(Rolename,SqlDbType.VarChar, 255).Value rolename;                try         {             conn.Open();               cmd.ExecuteNonQuery();         }         catch (SqlException e)         {                   throw e;         }         finally         {             conn.Close();         }       }       public override bool DeleteRole(string rolename, bool throwOnPopulatedRole)     {         if (!RoleExists(rolename))         {             throw new ProviderException(Role does not exist.);         }           if (throwOnPopulatedRole GetUsersInRole(rolename).Length 0)         {             throw new ProviderException(Cannot delete a populated role.);         }           SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(DELETE FROM Roles                 WHERE Rolename Rolename , conn);           cmd.Parameters.Add(Rolename, SqlDbType.VarChar, 255).Value rolename;                  SqlCommand cmd2 new SqlCommand(DELETE FROM UsersInRoles                 WHERE Rolename Rolename , conn);           cmd2.Parameters.Add(Rolename, SqlDbType.VarChar, 255).Value rolename;                 SqlTransaction tran null;           try         {             conn.Open();             tran conn.BeginTransaction();             cmd.Transaction tran;             cmd2.Transaction tran;               cmd2.ExecuteNonQuery();             cmd.ExecuteNonQuery();               tran.Commit();         }         catch (SqlException e)         {             try             {                 tran.Rollback();             }             catch {                 throw e;             }                          }         finally         {             conn.Close();         }           return true;       }       public override string[] FindUsersInRole(string rolename, string usernameToMatch)     {         SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(SELECT Username FROM UsersInRoles                    WHERE Username LIKE UsernameSearch AND RoleName RoleName, conn);         cmd.Parameters.Add(UsernameSearch, SqlDbType.VarChar, 255).Value usernameToMatch;         cmd.Parameters.Add(RoleName, SqlDbType.VarChar, 255).Value rolename;           string tmpUserNames ;         SqlDataReader reader null;           try         {             conn.Open();               reader cmd.ExecuteReader();               while (reader.Read())             {                 tmpUserNames reader.GetString(0) ,;             }         }         catch (SqlException e)         {                   throw e;           }         finally         {             if (reader ! null) { reader.Close(); }               conn.Close();         }           if (tmpUserNames.Length 0)         {             // Remove trailing comma.             tmpUserNames tmpUserNames.Substring(0, tmpUserNames.Length - 1);             return tmpUserNames.Split(,);         }           return new string[0];       }       public override string[] GetAllRoles()     {         string tmpRoleNames ;           SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(SELECT Rolename FROM Roles , conn);             SqlDataReader reader null;           try         {             conn.Open();               reader cmd.ExecuteReader();               while (reader.Read())             {                 tmpRoleNames reader.GetString(0) ,;             }         }         catch (SqlException e)         {                   throw e;              }         finally         {             if (reader ! null) { reader.Close(); }             conn.Close();         }           if (tmpRoleNames.Length 0)         {             // Remove trailing comma.             tmpRoleNames tmpRoleNames.Substring(0, tmpRoleNames.Length - 1);             return tmpRoleNames.Split(,);         }           return new string[0];       }       public override string[] GetRolesForUser(string username)     {         string tmpRoleNames ;           SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(SELECT Rolename FROM UsersInRoles                 WHERE Username Username, conn);           cmd.Parameters.Add(Username, SqlDbType.VarChar, 255).Value username;            SqlDataReader reader null;           try         {             conn.Open();               reader cmd.ExecuteReader();               while (reader.Read())             {                 tmpRoleNames reader.GetString(0) ,;             }         }         catch (SqlException e)         {                   throw e;         }         finally         {             if (reader ! null) { reader.Close(); }             conn.Close();         }           if (tmpRoleNames.Length 0)         {             // Remove trailing comma.             tmpRoleNames tmpRoleNames.Substring(0, tmpRoleNames.Length - 1);             return tmpRoleNames.Split(,);         }           return new string[0];       }       public override string[] GetUsersInRole(string rolename)     {         string tmpUserNames ;           SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(SELECT Username FROM UsersInRoles                   WHERE Rolename Rolename , conn);           cmd.Parameters.Add(Rolename, SqlDbType.VarChar, 255).Value rolename;             SqlDataReader reader null;           try         {             conn.Open();               reader cmd.ExecuteReader();               while (reader.Read())             {                 tmpUserNames reader.GetString(0) ,;             }         }         catch (SqlException e)         {                   throw e;           }         finally         {             if (reader ! null) { reader.Close(); }             conn.Close();         }           if (tmpUserNames.Length 0)         {             // Remove trailing comma.             tmpUserNames tmpUserNames.Substring(0, tmpUserNames.Length - 1);             return tmpUserNames.Split(,);         }           return new string[0];       }       public override bool IsUserInRole(string username, string rolename)     {         bool userIsInRole false;           SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(SELECT COUNT(*) FROM UsersInRoles                 WHERE Username Username AND Rolename Rolename, conn);           cmd.Parameters.Add(Username, SqlDbType.VarChar, 255).Value username;         cmd.Parameters.Add(Rolename, SqlDbType.VarChar, 255).Value rolename;           try         {             conn.Open();               int numRecs (int)cmd.ExecuteScalar();               if (numRecs 0)             {                 userIsInRole true;             }         }         catch (SqlException e)         {                 throw e;         }         finally         {             conn.Close();         }           return userIsInRole;       }       public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)     {         throw new Exception(The method or operation is not implemented.);     }       public override bool RoleExists(string rolename)     {         bool exists false;           SqlConnection conn new SqlConnection(connectionstring);         SqlCommand cmd new SqlCommand(SELECT COUNT(*) FROM Roles                   WHERE Rolename Rolename , conn);           cmd.Parameters.Add(Rolename, SqlDbType.VarChar, 255).Value rolename;                try         {             conn.Open();               int numRecs (int)cmd.ExecuteScalar();               if (numRecs 0)             {                 exists true;             }         }         catch (SqlException e)         {                           throw e;         }         finally         {             conn.Close();         }           return exists;       } }   四使用方法 1.       验证登录  protected void Button1_Click(object sender, EventArgs e)     {         string username TextBox2.Text;         string pwd TextBox1.Text;           if (Membership.ValidateUser(username, pwd))             FormsAuthentication.RedirectFromLoginPage(username, true);         else             Label1.Text login error;    } 2.       注册     protected void Button1_Click(object sender, EventArgs e)     {         string username TextBox1.Text;         string password TextBox2.Text;         string email TextBox3.Text;         string qq TextBox4.Text;         MembershipCreateStatus status;         ((MyMembershipProvider) Membership.Provider).CreateUser(username,password,email,qq,out status); }     3.       权限验证        User.IsInRole(admin))                Response.Write(im admin); 4.       角色增加 protected void Button1_Click(object sender, EventArgs e)     {         string rolename TextBox1.Text;         Roles.CreateRole(rolename); }   5.       角色用户增加     protected void Button2_Click(object sender, EventArgs e)     {         string rolename DropDownList1.SelectedValue;         string username TextBox2.Text;         Roles.AddUsersToRoles(new string[] { username }, new string[] { rolename });     }   五附加 用户表 CREATE TABLE [dbo].[Users] (          [UserId] [int] IDENTITY (1, 1) NOT NULL ,          [UserName] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,          [Password] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,          [Email] [char] (30) COLLATE Chinese_PRC_CI_AS NULL ,          [QQ] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]   角色表 CREATE TABLE [dbo].[Roles] (          [RoleId] [int] IDENTITY (1, 1) NOT NULL ,          [Rolename] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY]   用户角色表 CREATE TABLE [dbo].[UsersInRoles] (          [RoleName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,          [UserName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON [PRIMARY]    转载于:https://www.cnblogs.com/paopaofan/archive/2009/12/03/1616289.html
http://www.huolong8.cn/news/434559/

相关文章:

  • 高端的的网站建设公司开票开网站建设费
  • 站长工具查询seowordpress控制字数
  • 邢台市网站开发公司有哪些颐和国际沧州网络科技
  • 电商网站建设优缺点免费招聘网站平台有哪些
  • 资阳地网站seo福州网红打卡景点
  • 网站建设图片教程网站建设模板研究
  • 重庆网站备案查询系统华强北ic网站建设
  • 东莞市房管局官方网站杭州网站建设方案
  • 苏州网站建设推广咨询平台wordpress使用redis
  • 酷维网站模版wordpress网站添加背景音乐
  • 面包店网站建设规划书提高工作效率的方法不正确的是
  • 网站模板在线制作公司网站可以自己做吗
  • asp网站程序wordpress add_user_meta
  • 校园网站建设论文做创业网站赚钱
  • 广州网站营销北京专门做网站的公司
  • flashfxp链接网站商标设计注册一条龙价格
  • 唐山建网站的公司阿里云虚拟主机wordpress建站
  • 阿里巴巴网站开发申请域名之后如何做网站
  • 成都网站建设 好多科技医院网站php源码
  • 做视频网站成本高吗网站的 联系我们怎么做
  • 网站的关键词多少合适旅游网站建设的建议
  • 张家港普通网站建设wordpress 客户端配置
  • 网站建设的发展个人网站建设在哪里
  • 做网络传销网站犯法吗网络营销的公司有哪些
  • 网站建设是固定资产嘛网站建设推广实训总结
  • 景县做个油管的网站怎么做做网站页面的视频
  • 山西住房建设部网站上传视频网站源码
  • 做网站 搞流量 赚广告费赣州人才网招聘
  • 东阳市建设局网站网站报备之后如何建设网站
  • 视频网站后台登陆上海的重大新闻