步骤:

1、在MySql种创建一个数据库,名称任意取,我们只是要得到一个空的数据库,我们假设这个数据库的名称为authentication。

2、在VS种创建一个Web应用程序,File——new——project——Web——在右边任意选中一个

创建完了以后,运行一下程序,确保可以正常运行(如果不能运行,可能是MVC程序,没有添加默认的Controller,View)

3、给新创建的项目添加引用,MySql.Data、 MySql.Web,这个正常情况下操作为:右键References——add reference——在左边找到Extensions——mysql.data\mysql.web。

       如果没有你要的版本,到这里下载:http://dev.mysql.com/downloads/connector/net/

4、找到machine.config文件:

对文件进行修改:在文件中control-f,查找到 MySQLMembershipProvider,为其添加属性autogenerateschema="true",另外不要忘记,将MySql.Web的版本Version改成你自己添加引用时候的版本,记住属性connectionStringName="LocalMySqlServer",后面会用到,改后如下图:

5、配置项目,Web.config文件:

在Web.config文件中将默认的链接字符串改为:(name就是我们前面记下来的那个name)

<connectionStrings>

<remove name="LocalMySqlServer"/>

<add name="LocalMySqlServer"connectionString="Datasource=localhost;Database=users;uid=root;pwd=password;"providerName="MySql.Data.MySqlClient"/>

</connectionStrings>

另外还有奖默认的memberShip进行改变,格式如下:

<profile defaultProvider="MySQLProfileProvider">
  <providers>
    <clear />
    <add type="MySql.Web.Security.MySQLProfileProvider,
         MySql.Web,Version=6.7.4.0,
         Culture=neutral,
         PublicKeyToken=c5687fc88969c44d"
         name="MySqlProfileProvider"
         applicationName="/"
         connectionStringName="LocalMySqlServer"
         autogenerateschema="true" />
  </providers>
</profile>
<membership defaultProvider="MySqlMembershipProvider">
  <providers>
    <clear />
    <add name="MySqlMembershipProvider"
         type="MySql.Web.Security.MySQLMembershipProvider,
         MySql.Web,Version=6.7.4.0,
         Culture=neutral,
         PublicKeyToken=c5687fc88969c44d"
         connectionStringName="LocalMySqlServer"
         enablePasswordRetrieval="false"
         enablePasswordReset="true"
         requiresQuestionAndAnswer="false"
         requiresUniqueEmail="true"
         passwordFormat="Hashed"
         maxInvalidPasswordAttempts="5"
         minRequiredPasswordLength="6"
         minRequiredNonalphanumericCharacters="0"
         passwordAttemptWindow="10"
         applicationName="/"
         autogenerateschema="true" />
  </providers>
</membership>

<roleManager defaultProvider="MySqlRoleProvider">
  <providers>
    <clear />
    <add connectionStringName="LocalMySqlServer"
         applicationName="/"
         name="MySqlRoleProvider"
         type="MySql.Web.Security.MySQLRoleProvider,
         MySql.Web,Version=6.7.4.0,
         Culture=neutral,PublicKeyToken=c5687fc88969c44d"
         autogenerateschema="true" />
  </providers>
</roleManager>

6、运行程序,确保可以通过,

7、打开Web Site Administration Tool,步骤:在VS中点击Project——Asp.net Configuration,这个时候很可能会报错,因外刚才所有的配置都体现在这边了,如果报错,仔细看它的错误信息,一般会得到比较好的线索。如果成功就会看到这样的界面:

                  

8、进入Security选项卡,

点击页面的 Select authentication type 链接,选择From the internet方式,回到Security的初始页面,

进入Provider选显卡,选择MySqlMemberShipProvider\MySqlRoleProvider

如果上述操作都正常进行,那么就已经成功了一大半了

9、进入MySql的 WorkBench里,看你刚才穿件的数据库,你会发现原来空的数据库,现在多了一系列的表,如下图:

10、创建一个role,步骤:

回到Security选显卡,点击roles栏目中的Enable Roles链接,这时候会出现Create or Manage roles,点击进去创建一个role。

11、创建角色,步骤:

回到Security选项卡,点击Users栏目中的Create User,进入并创建一个user

12、回到你在MySql种创建的数据库,你可以看到Role、user表都多了一条数据。

如有哪里不清晰,提供一下连个链接,可供参考:

http://dev.mysql.com/doc/connector-net/en/connector-net-tutorials-asp-roles.html

http://www.codeproject.com/Articles/117157/Setting-up-MySql-Membership-with-Visual-Studio-201?msg=4732628#xx4732628xx

在MySql中实现MemberShip的权限管理的更多相关文章

  1. MySQL中的账号与权限管理

    MySQL权限管理 权限系统的工作原理     MySQL权限系统通过下面两个阶段进行认证:     (1)对连接的用户进行身份认证,合法的用户通过认证.不合法的用户拒绝连接.     (2)对通过认 ...

  2. Mysql数据库用户及用户权限管理,Navicat设置用户权限

    Mysql数据库用户及用户权限管理,Navicat设置用户权限 一.Mysql数据库的权限 1.1 mysql数据库用户权限级别 1.2 mysql数据库用户权限 1.3 存放用户权限表的说明 二.用 ...

  3. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  4. mysql用户授权、数据库权限管理、sql语法详解

    mysql用户授权.数据库权限管理.sql语法详解 —— NiceCui 某个数据库所有的权限 ALL 后面+ PRIVILEGES SQL 某个数据库 特定的权限SQL mysql 授权语法 SQL ...

  5. Yii框架中使用SRBAC作为权限管理模块时遇到的问题

    Yii框架中使用SRBAC作为权限管理模块时遇到的问题   看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面. 最后想到, ...

  6. HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践

    摘要:Ranger为组件提供基于PBAC的鉴权插件,供组件服务端运行,目前支持Ranger鉴权的组件有HDFS.Yarn.Hive.HBase.Kafka.Storm和Spark2x,后续会支持更多组 ...

  7. MySQL学习笔记二:权限管理

    1. 创建和删除用户,mysql中的用户是由用户名和主机名来确定的 create user "user_name@host_name" identified by passwd; ...

  8. ci中简单实用的权限管理

    实用的权限管理 对多数网站来说,使用完整的rbac权限管理杀鸡用牛刀绝对的吃力不讨好,因为我们只是简单分角色然后对角色进行管理行使其相对于的角色赋予的权限; 在实际的开发中用位运算来对权限进行验证是十 ...

  9. MySQL中创建用户分配权限

    测试环境:CentOS6.8 和 MySQL5.5.4 一 需求 在项目开发的过程中可能需要开放自己的数据库给别人,但是出于安全的考虑,不能同时开放自己服务器里的其他数据库.那么可以新建一个用户,赋予 ...

随机推荐

  1. ELK 之四:搭建集群处理日PV 四亿次超大访问量优化方法

    最近公司的网站访问量越来越大,采用4台高配置服务器做后端Server,前端使用一个负载,日志从后端4台服务器收集到ELK统计,但是最近Logstash经常出问题,每次启动运行三四个小时就挂了,分析是由 ...

  2. matlab之kmeans聚类用法

    kmeans函数用法如下: [IDX,C,sumd,D] = kmeans(X,2,'Distance','city','Replicates',5,'Options',opts); 参数含义如下:I ...

  3. [LeetCode]题解(python):008-String to Integer (atoi)

    题目来源: https://leetcode.com/problems/string-to-integer-atoi/ 题意分析: 这道题也是简单题,题目意思是要将字符串转化成int.比如‘123’转 ...

  4. 转: ajax跨域之JSONP

    事件背景: 某个站点分为静态产品介绍页面(或由于某原因需要静态化),和一个独立的在线应用程序.静态产品页面属于www.a.com下,而在线应用程序作为一个相对独立的系统存在于app.a.com上. 在 ...

  5. Sicily-1009 梅森素数

    一.梅森素数 素数有无穷多个,却只有极少量的素数能表示成2p-1(p为素数)的形式.在不大于257的素数中,当p=2.3.5.7.13.17.19.31.67.127.257时,2p-1是素数,其它都 ...

  6. SWIFT学习笔记01

    1.Swift.用来推断option是不是nil,相当于OC的 if(option) if let name = option{ greeting = "if=====" }els ...

  7. VC++网络高级编程

    内含<VC网络高级编程>电子书 及源代码. 第一章.TCP/IP协议.第二章.Winsock网络编程接口:第二章.Visual C++与网络编程:第四章.基本网络编程技术:第五章.Teln ...

  8. 在AD09中查找元件和封装

    在AD09中查找元件和封装 Altium Designer 软件方法/步骤 Altium下Miscellaneous Devices.Intlib元件库中常用元件有: 电阻系列(res*)排组(res ...

  9. AFNetworking 保存Cookie Session 和 Webview 共享Cookie

    1, 请求并携带SessionId, 代码如下: //当请求成共后调用如下代码, 保存Cookie NSArray *cookies = [[NSHTTPCookieStorage sharedHTT ...

  10. 【 D3.js 入门系列 — 2.1 】 选择、插入、删除元素

    1. select 和 selectAll 的区别 在 D3 中,选择元素的函数有两个:select 和 selectAll,它们的使用非常重要.先说明一下它们的区别: select 是选择所有指定元 ...