1、运行asp.net Sql Server注册工具:aspnet_regsql.exe,详细参见:http://msdn.microsoft.com/zh-cn/library/ms229862(v=VS.100).aspx。设置数据库。

2、配置Web.config.

在<configuration>节增加连接串:

<connectionStrings>
    <add name="ApplicationServices"
         connectionString="data source=你的IP地址或数据库服务器名;database=数据库名; Persist Security Info=True;uid=用户名;pwd=密码"
         providerName="System.Data.SqlClient"/>

</connectionStrings>

如果你的项目添加了ADO.NET Entity Data Model,将连接串写在

<connectionStrings>节里就可以。

membership既然是用于成员资格管理,当然要求登录验证身份,所以首先加上一个forms验证。

<authentication mode="Forms">
 <forms loginUrl="login.aspx" name=".aspxlogin"/>
</authentication>

login.aspx是验证失败时转向的页面。

可以自定义错误页面:

<authentication mode="Forms">
      <forms loginUrl="~/SysManager/HasNoPermit" timeout="2880" />验证失败时指定的页面
    </authentication>

同样在system.web节点下添加membership节点。

<membership>
      <providers>
        <clear/>
 
      <add name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="ApplicationServices"
           
 enablePasswordRetrieval="false" enablePasswordReset="true"
requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
 
           maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
      </providers>
    </membership>
    <profile>
      <providers>
        <clear/>
 
      <add name="AspNetSqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="ApplicationServices" applicationName="/" />
      </providers>
    </profile>

属性解释说明:

defaultProvider:提供程序的名称。默认为 AspNetSqlMembershipProvider。如果你有多个Provider的话,指定一个默认值是明智的做法
userIsOnlineTimeWindow:指定用户在最近一次活动的日期/时间戳之后被视为联机的分钟数。
hashAlgorithmType:用于哈希密码的算法的标识符,或为空以使用默认哈希算法。connectionStringName:membership数据库的连接名称。
enablePasswordRetrieval:指示当前成员资格提供程序是否配置为允许用户检索其密码。
enablePasswordReset:指示当前成员资格提供程序是否配置为允许用户重置其密码。 
requiresQuestionAndAnswer:指示默认成员资格提供程序是否要求用户在进行密码重置和检索时回答密码提示问题。
applicationName:应用程序的名称。
requiresUniqueEmail:指示成员资格提供程序是否配置为要求每个用户名具有唯一的电子邮件地址。 
passwordFormat:指示在成员资格数据存储区中存储密码的格式。值可选Clear、Encrypted
和 Hashed。Clear
密码以明文形式存储,这可以提高存储和检索密码的性能,但安全性较差,当数据源安全性受到威胁时此类密码很容易被读取。Encrypted
密码在存储时进行了加密,可以在比较或检索密码时进行解密。此类密码在存储和检索时需要进行额外的处理,但比较安全,在数据源的安全性受到威胁时不容易被获取。Hashed
密码在存储到数据库时使用单向哈希算法和随机生成的 salt 值进行哈希处理。在验证某一密码时,将用数据库中的 salt
值对该密码进行哈希计算以进行验证。无法检索哈希密码。
maxInvalidPasswordAttempts:锁定成员资格用户前允许的无效密码或无效密码提示问题答案尝试次数。
minRequiredPasswordLength:密码所要求的最小长度。
minRequiredNonalphanumericCharacters:有效密码中必须包含的最少特殊字符数。 
passwordAttemptWindow:在锁定成员资格用户之前允许的最大无效密码或无效密码提示问题答案尝试次数的分钟数。这是为了 防止不明来源反复尝试来猜测成员资格用户的密码或密码提示问题答案的额外措施。
passwordStrengthRegularExpression:计算密码的正则表达式。

为membership配置web.config后,再配置其角色管理roleManager,也是在system.web下。

<roleManager enabled="true" cacheRolesInCookie="true">
      <providers>
        <clear/>
 
      <add name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="ApplicationServices" applicationName="/" />
 
      <add name="AspNetWindowsTokenRoleProvider"
type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"
/>
      </providers>

</roleManager>

属性解释说明:
cacheRolesInCookie:指示当前用户的角色是否已缓存在某个 Cookie 中。

CacheRolesInCookie 属性在配置文件中设置为 true 时,每个用户的角色信息就会存储在客户端上的某个 Cookie
中。当角色管理检查确定某个用户是否属于某个特定角色时,在调用角色提供程序在数据源中检查角色列表之前,将先检查角色 Cookie。该 Cookie
在客户端上会动态更新以缓存最近已验证的角色名称。
web.config就配置差不多了。

3、mvc3默认生成的internet项目包含了Account的代码,拷贝到项目中就可以了。

好文要顶
关注我
收藏该文

3
0
 
posted on 2011-07-15 16:20 Vanessa 阅读(4665) 评论(1) 编辑 收藏

 
Comments
#1楼[楼主]

MemberShip的 链接字符串的使用的更多相关文章

  1. 使用VS,获取SQL SERVER 的链接字符串

    在VS中→工具→链接到数据库→(选择数据源,这里要链接的是SQL server)Microsoft SQL Server→服务器名字(不知道的可以在登陆SQL server的时候,把服务器名字复制过来 ...

  2. kettle与各数据库建立链接的链接字符串

    kettle与各数据库建立链接的链接字符串 Sybase: TO_DB_URL = jdbc:sybase:Tds:192.168.168.163:5000/testdb?charset=eucgb& ...

  3. sqlserver,sqlite,access数据库链接字符串

    SqlServer:string connection = "server=32.1.1.48;database=数据库名;user=sa;password=sa2008"; ac ...

  4. EnterpriseLibrary 6.0(微软企业库6.0学习笔记) 之Data Access Block 配置和获取链接字符串

    EnterpriseLibrary 的特点是快速开发,融合了微软工程师多年的经验,现在在微软内部有专门的一个小组在完善EnterpriseLibray,最近的更新时间是April 2013. 相关链接 ...

  5. C# 数据库链接字符串加密工具

    有些项目尤其是WinForm或者是WPF项目,针对一些工具形式的小项目,不想软件流出去之后,懂程序的的拿到手之后一看配置文件就知道了我们数据库的用户名和密码,如果外网能访问的话,那就麻烦大了.所以这里 ...

  6. EF实体实现链接字符串加密

    1.加密解密方法 using System;using System.Security.Cryptography; using System.Text;namespace DBUtility{ /// ...

  7. SqlServer数据库链接字符串

    完整链接字符串: 1."DataSourse=.\你的实例;Initial Catalog=yourdatabase;User ID=*;Password=*;Trusted_Connect ...

  8. EF删除,查询,Linq查询,Lambda查询,修改链接字符串

    (1)//删除操作 public bool delete() { try { a_context = new AEntities(); b1 = new Table_1(); //删除只需要写主键就行 ...

  9. MySql 链接字符串

    MySql连接字符串总结 1.本地数据库连接    <connectionStrings>        <add name="ConnectionString" ...

随机推荐

  1. SQL优化系列——索引

    索引可能是数据库中最被误解的主题,因为有很多方式让你糊涂索引如何工作,以及服务器如何使用它们.要正确设计索引,让索引在数据库服务器中满足以下三个重要目的:1,索引使服务器查找一组相邻行,而不是单独的行 ...

  2. css-去掉IE浏览器自带×号

    1.去除IE输入框的叉号 /* 去除IE输入框的叉号 */ ::-ms-clear, ::-ms-reveal{ display:none; } 2.前端多行展现代码,多余部分使用...代替 div{ ...

  3. 项目启动时报错Instantiation of bean failed; nested exception is java.lang.ExceptionInInitializerError

    https://www.cnblogs.com/liuyp-ken/p/7911536.html 解决过程: 1.检查配置,反反复复看了很多遍,确认没有问题. 2. 网上找了很多资料,类似的问题很多, ...

  4. go中redis使用小结

    最近做了个关于redis的项目,那么就整理下遇到和未遇到的问题 1.redis的简介安装 2.redis的数据结构 3.Redis基本使用 4.Redis的并发 5.Redis的落地 一.redis的 ...

  5. 各种http报错的报错的状态码的分析

    HTTP常见错误 HTTP 错误 400 400 请求出错 由于语法格式有误,服务器无法理解此请求.不作修改,客户程序就无法重复此请求. HTTP 错误 401 401.1 未授权:登录失败 此错误表 ...

  6. docker镜像文件的导入与导出(docker镜像迁移)

    1.查看镜像ID # docker images [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE myto ...

  7. ef-codefirst方式配置实体类,生成数据库

    做项目的时候,如果我们如果用orm方式来做数据库持久化操作的话.微软官方首先会向我们推荐ef,而我们用ado.net的话,似乎也需要建立实体类来接传值,那么我们用codefirst就有一举两得的效果了 ...

  8. 20165312 预备作业3 Linux安装及学习

    Linux安装及学习 一.安装Vmware虚拟机以及Ubuntu中遇到的问题 因为之前安装过Vmware虚拟机,考虑到两者没有太大的差别,就所以就没有再安装Vbox虚拟机. 在安装Vmware虚拟机增 ...

  9. Linux CentOS7.5上二进制安装MySQL5.7.23

    1.下载二进制文件 cd /usr/local/src/ wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glib ...

  10. CRM 实体列名和标签名称

    CREATE VIEW v_entity_attribute AS SELECT EntityView.Name AS EntityName, LocalizedLabelView_1.Label A ...