前几天,开始接触membership,一肚子疑惑,于是就找了一些资料发了这篇blog:关于membership实用性讨论 。
  但是,还是感觉不能理解membership。于是今天又查阅了大量资料,才对membership有了进一步的理解。
  早期版本的ASP.NET 2.0 框架附带了两个成员身份提供程序:AccessMembershipProvider 以及 SqlMembershipProvider。正式版本已经不再提供AccessMembershipProvider,默认只有SqlMembershipProvider。要想使用其他数据库或者使用自定义的用户信息,就必须自己编写MembershipProvider ,然后在web.config文件里配置:

<configuration><system.web><membership defaultProvider="provider名" /></system.web></configuration>

使用SqlMembershipProvider时,通过在web.config文件里进行配置改变其苛刻的要求(密码长度,复杂度等):

            
<membership><providers><clear/><add name="AspNetSqlMembershipProvider"type="System.Web.Security.SqlMembershipProvider, System.Web,Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"connectionStringName="LocalSqlServer"requiresQuestionAndAnswer="false" requiresUniqueEmail="true"passwordFormat="Hashed" minRequiredNonalphanumericCharacters="0"minRequiredPasswordLength="3" /></providers></membership> 

这样配置的原理是web.config里的设置覆盖了machine.config的默认设置,简化了用户注册的复杂度。
这篇文章(阅读)详细介绍了SqlMembershipProvider

  以上资料仅是介绍了MembershipProvider的配置方法,那怎么实现自定义的MembershipProvider呢?我找到了这样一篇文章(阅读),介绍了怎样实现自定义一个基于Access的MembershipProvider,并提供实例的源码下载 。
         并且微软也提供了Sample Access Providers下载。

关于membership的进一步理解相关推荐

  1. Memcpy, blockcopy的进一步理解

    Memcpy, blockcopy的进一步理解 using System; using System.Runtime.InteropServices; using System.IO; namespa ...

  2. Java工作笔记-对反射的进一步理解

    目录 基本概念 代码与实例 基本概念 反射的进一步理解: 将类的各个组成部分封装为其他对象(将一个类的组成部分封装为其他对象) 就是反射. Java代码经历的三个阶段: 1. 写好代码.java后使用 ...

  3. 进一步理解CSS浮动与清除浮动

    本文主要探讨两个问题: 为什么CSS设置浮动会引起父元素塌陷 为什么设置clear:both能清除浮动,并撑开父元素. 起因 CSS的浮动,算是我在写网页时用的最多的属性之一.但要说我对浮动的了解程度 ...

  4. 规模因子和价值因子—进一步理解系统性风险

    上世纪二十年代的美国,当时的美国股市是一个高度散户化的市场,很多人就从交易中总结了市场规律,许多形形色色的规律都是昙花一现,唯独有两个策略经久不衰. 其中一个规律是买入市净率低的股票,"市净 ...

  5. 【MyBatis】进一步理解choose、when、otherwise标签

    choose.when.otherwise choose里面包含when.otherwise两个标签,choose是父标签,when和otherwise必须都要写在它里面 当 when 中有条件满足的 ...

  6. Magic Powder - 1 CodeForces - 670D1(优先队列进一步理解)

    写这个题的时候一直在想怎么才能动态排序(一遍改变数值,一遍从新改变相应的顺序),到最后才突然想起来这不就是优先队列吗,通过这题对优先队列的动态排序有了进一步理解.好题! AC代码: #include ...

  7. OpenGL学习笔记(八):进一步理解VAO、VBO和SHADER,并使用VAO、VBO和SHADER绘制一个三角形

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7888 ...

  8. (二)音视频:MediaCodec编码桌面信息 完整Demo 进一步理解H264

    (一)音视频:解码H264文件流程 渲染和拿到解码后源数据YUV 完整Demo] (二)音视频:MediaCodec编码桌面信息 完整Demo 进一步理解H264 (三)音视频:解析H264 SPS ...

  9. 进一步理解Linux操作系统的块设备

    在前文<理解Linux操作系统的块设备>中我们从比较高层面(Hight Level)介绍了块设备的原理和块设备的特性.但是关于Linux操作系统块设备的实现原理可能还一知半解.本文将进一步 ...

最新文章

  1. 最近做手机端,GPS,微信QQ分享总结的问题
  2. 内卷时代,互联网人相亲有多难?|漫画
  3. Java集合类学习-LinkedList, ArrayList, Stack, Queue, Vector
  4. 嵌入式开发中使用DDD进行调试
  5. Python 懂车帝车友圈--分析与实现
  6. 设置 JAVA_HOME
  7. alert点击完确定关闭浏览器窗口_关务实操技巧:单一窗口缓存4大清理方法,解决部分退单问题...
  8. .net 解析Transfer-Encoding:chunked 秒掉网上无用方案
  9. html中ng-src,angularjs – 在ng-src中使用{{}}绑定,但不会加载ng-src
  10. 无线AP和无线路由的Wi-Fi性能哪个更好?
  11. 【每周论文阅读-第四周】proposal-level 特征聚合视频目标检测方法02
  12. 编程学习视频网站汇总
  13. 【CF802O】April Fools‘ Problem (hard)(wqs二分,模拟费用流,老鼠进洞)
  14. android相册在哪个文件夹里,手机相册在哪个文件夹?
  15. 乐师2017年新生程序设计大赛解题报告
  16. vue.js - 收藏集 - 掘金
  17. 理论力学判断自由度的问题
  18. SAP ABAP ASSIGNED 用法
  19. Google奥运会logo
  20. 扰码器(三)并行扰码器综述及设计思路

热门文章

  1. c++中字符与数值之间的转换函数(全网最全)
  2. 【解决】Authentication plugin 'caching_sha2_password' cannot be loaded
  3. 【项目管理】项目经理 总监 总经理不同优秀特质
  4. 【科普】一图区分 IAAS + PAAS + SAAS
  5. 实战(多图):旧路由器刷panabit系统!一台路由器的新生……
  6. Vue中JS遍历后台JAVA返回的Map数据,构造对象数组数据格式
  7. Vue中使用vue-croper插件实现图片上传裁剪并传到SpringBoot后台接口
  8. DOS介绍以及常用命令
  9. ElementUI的DateTimePicker组件添加验证规则以及限制选择范围
  10. 软考-信息系统项目管理师-项目合同管理