在MySql中实现MemberShip的权限管理
步骤:
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
在MySql中实现MemberShip的权限管理的更多相关文章
- MySQL中的账号与权限管理
MySQL权限管理 权限系统的工作原理 MySQL权限系统通过下面两个阶段进行认证: (1)对连接的用户进行身份认证,合法的用户通过认证.不合法的用户拒绝连接. (2)对通过认 ...
- Mysql数据库用户及用户权限管理,Navicat设置用户权限
Mysql数据库用户及用户权限管理,Navicat设置用户权限 一.Mysql数据库的权限 1.1 mysql数据库用户权限级别 1.2 mysql数据库用户权限 1.3 存放用户权限表的说明 二.用 ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- mysql用户授权、数据库权限管理、sql语法详解
mysql用户授权.数据库权限管理.sql语法详解 —— NiceCui 某个数据库所有的权限 ALL 后面+ PRIVILEGES SQL 某个数据库 特定的权限SQL mysql 授权语法 SQL ...
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
Yii框架中使用SRBAC作为权限管理模块时遇到的问题 看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面. 最后想到, ...
- HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践
摘要:Ranger为组件提供基于PBAC的鉴权插件,供组件服务端运行,目前支持Ranger鉴权的组件有HDFS.Yarn.Hive.HBase.Kafka.Storm和Spark2x,后续会支持更多组 ...
- MySQL学习笔记二:权限管理
1. 创建和删除用户,mysql中的用户是由用户名和主机名来确定的 create user "user_name@host_name" identified by passwd; ...
- ci中简单实用的权限管理
实用的权限管理 对多数网站来说,使用完整的rbac权限管理杀鸡用牛刀绝对的吃力不讨好,因为我们只是简单分角色然后对角色进行管理行使其相对于的角色赋予的权限; 在实际的开发中用位运算来对权限进行验证是十 ...
- MySQL中创建用户分配权限
测试环境:CentOS6.8 和 MySQL5.5.4 一 需求 在项目开发的过程中可能需要开放自己的数据库给别人,但是出于安全的考虑,不能同时开放自己服务器里的其他数据库.那么可以新建一个用户,赋予 ...
随机推荐
- Python网络编程——设定并获取默认的套接字超时时间
Sometimes,you need to manipulate the default values of certain properties of a socket library, for e ...
- 通过代码...CGRectmake 创建的控件如何自适应屏幕。
[[UIScreen mainScreen] bounds].size.width [[UIScreen mainScreen] bounds].size.height 得到屏幕的宽高,然后将变量写入 ...
- Ants (POJ 1852)
题目描述: Description An army of ants walk on a horizontal pole of length l cm, each with a constant spe ...
- linux禁ping和允许ping的方法
一.系统禁止ping [root@linuxzgf ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 二.系统允许ping [root@li ...
- c/c++内存分配方式(转)
原文链接:http://blog.csdn.net/jing0611/article/details/4030237 1.内存分配方式 内存分配方式有三种: [1]从静态存储区域分配.内存在 程序编译 ...
- iOS 开发 Message Digest Algorithm 5(MD5加密)
MD5的全称是Message Digest Algorithm 5(消息摘要算法第五版),是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.在90年代初由MIT Laboratory ...
- 在VS上配置OpenCV
这几篇帖子讲的挺仔细的,而且不坑,结合看看就没问题了~~ http://www.cnblogs.com/cuteshongshong/p/4057193.html http://my.phirobot ...
- BZOJ 3401: [Usaco2009 Mar]Look Up 仰望( 单调栈 )
n <= 105 , 其实是10 ^ 5 ....坑...我一开始写了个模拟结果就 RE 了.. 发现这个后写了个单调栈就 A 了... ---------------------------- ...
- Jquery中$.ajax()方法参数详解(转)
转自:http://blog.sina.com.cn/doctor830619 url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数, ...
- 浙江工商大学15年校赛E题 无邪的飞行棋 【经典背包】
无邪的飞行棋 Time Limit 1s Memory Limit 64KB Judge Program Standard Ratio(Solve/Submit) 15.38%(4/26) Descr ...