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

  • 相关阅读:
    python base64加密文本内容(1)
    python 翻译爬虫
    json为txt文本加密
    python json
    repr()函数
    linux 基本命令
    测试管理工具--禅道
    测试基础理论
    测试用例--场景法
    测试用例--测试大纲(提纲)法
  • 原文地址:https://www.cnblogs.com/key1309/p/3530227.html
Copyright © 2011-2022 走看看