博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在MySql中实现MemberShip的权限管理
阅读量:5071 次
发布时间:2019-06-12

本文共 2820 字,大约阅读时间需要 9 分钟。

步骤:

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。

       如果没有你要的版本,到这里下载:

 

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表都多了一条数据。

 

 

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

转载于:https://www.cnblogs.com/key1309/p/3530227.html

你可能感兴趣的文章
.Net cxy 提高效率
查看>>
(十八)python 3 回调函数
查看>>
Oracle安装:64位电脑安装64位Oracle、PLSQL步骤
查看>>
js变量声明位置及编译执行顺序(提升)
查看>>
IOS编码规范
查看>>
Atcoder Tenka1 Programmer Contest 2019题解
查看>>
进程同步锁 队列
查看>>
支付宝UI界面搭建
查看>>
如何让vim编辑器永久显示行号
查看>>
使用HOG特征+BP神经网络进行车标识别
查看>>
eclipse打war包并在tomcat上部署运行(附增大tomcat内存)
查看>>
二叉搜索树转双向链表
查看>>
vim 粘贴文本,格式混乱 tab
查看>>
mysql记录的增删改和单表查询
查看>>
linux系统下 git 使用教程
查看>>
js基础学习之-js包装对象
查看>>
ZOJ 3080 ChiBi(spfa)
查看>>
JavaScript JSON
查看>>
大数据迁移实践之路
查看>>
springmvc基础知识:配置;ajax;重定向;文件上传
查看>>