zoukankan      html  css  js  c++  java
  • 在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.datamysql.web。

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

    4、找到machine.config文件:

    4

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

    6

    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,这个时候很可能会报错,因外刚才所有的配置都体现在这边了,如果报错,仔细看它的错误信息,一般会得到比较好的线索。如果成功就会看到这样的界面:

                       9

    8、进入Security选项卡,

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

         进入Provider选显卡,选择MySqlMemberShipProviderMySqlRoleProvider

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

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

                                         7

    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

  • 相关阅读:
    Atitit 集团与个人的完整入口列表 attilax的完整入口 1. 集团与个人的完整入口列表 1 2. 流量入口概念 2 3. 流量入口的历史与发展 2 1.集团与个人的完整入口列表
    atitit 每季度日程表 每季度流程 v3 qaf.docx Ver history V2 add diary cyar data 3 cate V3 fix detail 3cate ,
    Atitit react 详细使用总结 绑定列表显示 attilax总结 1. 前言 1 1.1. 资料数量在百度内的数量对比 1 1.2. 版本16 v15.6.1 1 1.3. 引入js 2
    Atitit r2017 r3 doc list on home ntpc.docx
    Atitit r2017 ra doc list on home ntpc.docx
    Atiitt attilax掌握的前后技术放在简历里面.docx
    Atitit q2016 qa doc list on home ntpc.docx
    Atitit r7 doc list on home ntpc.docx 驱动器 D 中的卷是 p2soft 卷的序列号是 9AD0D3C8 D:\ati\r2017 v3 r01\
    Atitit 可移植性之道attilax著
    Atitit q2016 q5 doc list on home ntpc.docx
  • 原文地址:https://www.cnblogs.com/key1309/p/3530227.html
Copyright © 2011-2022 走看看