转自:http://blog.sina.com.cn/s/blog_650b9ecc0100iqfo.html

1)表名:aspnet_Applications

说明:保存应用程序信息(系统名)

每一个不同的系统名都会生成一个唯一的ID,这个ID是与其它关联关系的外键。

字段名

类型

属性

说明

ApplicationName

nvarchar(256)

应用程序名

LoweredApplicationName

nvarchar(256)

小写的应用程序名

ApplicationId

uniqueidentifier

PK

应用程序的id, GUID值

Description

nvarchar(256)

nullable

应用程序的 描述

2)表名:aspnet_Users

说明:用户信息

用户表,只保存了用户ID基本不会变的信息。

字段名

类型

属性

说明

ApplicationId

uniqueidentifier

应用程序Id。通过ApplicationId字段与aspnet_Application关联,以此来区分用户是属于哪个系统的。

UserId

uniqueidentifier

PK

用户Id

UserName

nvarchar(256)

用户名。由于UserName字段本身并不是主键,所以它是可以有重复值的,但不是说一个系统允许存在相同的用户名。正是 ApplicationId字段来标识相同的用户名是属于不同的系统的。ApplicationId字段的作用就在于此,所以你可以看到很多表中都有这个 字段的存在。

LoweredUserName

nvarchar(256)

小写的用户名

MobileAlias

nvarchar(16)

移动电话的pin码(未使用)

IsAnonymous

bit

是否为匿名用户

LastActivityDate

datetime

最后活动日期

3)表名:aspnet_Roles

说明:角色表

存储系统的所有角色,同样用ApplicationId来标识该角色属于哪个系统所有的。

字段名

类型

属性

说明

ApplicationId

uniqueidentifier

FK: appnet_Applications.ApplciationId

应用程序Id

RoleId

uniqueidentifier

PK

角色Id

RoleName

nvarchar(256)

角色名称

LoweredRoleName

nvarchar(256)

小的角色名称

Description

nvarchar(256)

nullable

描述

4)表名:aspnet_UsersInRoles

说明:用户角色关系表

多对多的关系表,存储哪些用户属于哪些角色。

字段名

类型

属性

说明

UserID

uniqueidentifier

FK: aspnet_Users.UserId

用户ID

RoleID

uniqueidentifier

FK: aspnet_Roles.RoleId

角色ID

5)表名:aspnet_Membership

说明:成员信息

在aspnet_Membership表存储着一些用户的公共属性信息。根据不同的需求,我们可能还需要其它的一些自定义字段,在这种情况下最好不要直接修改这个表,而是应该新建一个表,或利用Profile功能来实现。

字段名

类型

属性

说明

ApplicationId

uniqueidentifier

FK: appnet_App

lications.

ApplciationId

应用程序Id

标识用户属于哪个系统

UserId

uniqueidentifier

FK: aspnet_Users.

UserID

用户Id

与aspnet_Users关联的字段

Password

nvarchar(128)

加密或未加密的密码

PasswordFormat

int

存储密码的格式

(明文或使用的加密算法)

PasswordSalt

nvarchar(128)

密码的Hash值

用于辅助密码验证的字段(不可逆算法进行密码验证时所需)

MobilePIN

nvarchar(16)

手机PIN码

手机PIN码,同样可以唯一标

Email

nvarchar(256)

电子邮件地址

Email (可配置Email是否必须唯一)

LoweredEmail

nvarchar(256)

小写的电子邮件地址

PasswordQuestion

nvarchar(256)

遗忘密码,密码安全问题(可配置是否必须)

PasswordAnswer

nvarchar(128)

遗忘密码答案,密码安全问题答案

IsApproved

bit

用户是否已认证(为0时用户无法登录)

IsLockedOut

bit

用户是否已锁定(可配置密码重试次数,超过则自动锁定该用户)

CreateDate

datetime

创建时间

LastLoginDate

datetime

最后登录时间

LastPassword

ChangedDate

datetime

最后修改密码的时间

LastLockoutDate

datetime

最后一次锁帐号的时间

FailedPassword

AttemptCount

int

密码失败尝试次数

密码重试次数

FailedPassword

AttemptWindowStart

datetime

密码失败尝试窗口打开时间

FailedPassword

AnswerAttemptCount

int

安全密码重试次数

FailedPasswordAnswer

AttemptWindowStart

datetime

遗失密码问题输入窗口打开时间

Comment

ntext

备注

6)表名:aspnet_Profile

说明:Profile对象存储表

存储着用户的一些个性化信息。由于个性化信息的字段是可变的,所以它采用了一种比较灵活的存储方式,类似于:property1:value1;property2:value2的形式(具体分隔符可能有误)来存储多个可变的属性值。再通过解析,分解出正确属性和值。

字段名

类型

属性

说明

UserId

uniqueidentifier

FK: aspnet_Users.UserId

用户ID

PropertyNames

ntext

属性名称

PropertyValuesString

ntext

字符串值

PropertyValuesBinary

image

二进制值

LastUpdatedDate

datetime

最后更新日期

Aspnet_Paths,aspnet_PersonalizationPerUser,aspnet_PersonalizationAllUsers:

这几个表组合起来存储个性化页面设置,配合WebPart使用。

7)表名:aspnet_Paths

说明:路径信息

字段名

类型

属性

说明

ApplicationId

uniqueidentifier

FK: appnet_Applications.ApplciationId

应用程序Id

PathId

uniqueidentifier

PK

路径Id

Path

nvarchar(256)

路径信息

LoweredPath

nvarchar(256)

小写的路径信息

8)表名:aspnet_PersonalizationAllUsers

字段名

类型

属性

说明

PathId

uniqueidentifier

FK: aspnet_Paths.PathId

路径ID

PageSetting

ntext

个性化设置

LastUpdatedDate

datetime

最后更新日期

9)表名:aspnet_PersonalizationPerUser

字段名

类型

属性

说明

Id

uniqueidentifier

PK

ID

PathID

uniqueidentifier

FK: aspnet_Paths.PathId

路径ID

UserID

uniqueidentifier

FK:aspnet_Users.UserId

用户ID

PageSetting

ntext

个性化设置

LastUpdatedDate

datetime

最后更新日期

另外两个表与用户管理没有直接关系的:

aspnet_WebEvent_Events,用于记录系统在运行过程中出现的一些异常信息,需配合Health monitor使用;

aspnet_SchemaVersions,用于记录当前的框架版本信息,默认已经有记录了

结语:

首先注册控件无非是将信息写入到membership表和users表。

其中在applications表中添加了应用程序记录,其中主要记录的是登录过程和profile的使用两个应用程序,而我们利用profile的时候自动插入到profile表中,里面利用的序列化非常有参考价值,因为可以通过它来存放对象等结构

[Membership架构分析1] ASP.NET membership的表结构的更多相关文章

  1. 7.使用EXPLAIN 来分析SQL和表结构_1

    explain:查看执行计划 使用explain 关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的 分析你的查询语句或是表结构的性能瓶颈 使用explain 可以获 ...

  2. b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释

    我最近一直在找适合将来用于公司大型bs,b2b b2c的基础架构. 实际情况是要建立一个bs架构b2b.b2c的网站,当然还包括wap站点.手机app站点. 一.现有公司技术人员现状: 1.熟悉asp ...

  3. NopCommerce架构分析(转载)

    原文 一,NopCommerce架构分析之开篇 NopCommerce是.net开源项目中比较成熟的一款业务应用框架,也是电子商务系统中的典范.所以很想多学习一下里面的设计和实现方式. 二,NopCo ...

  4. Equinox开源项目CQRS架构分析

    CQRS架构下Equinox开源项目分析 一.DDD分层架构介绍 本篇分析CQRS架构下的Equinox开源项目.该项目在github上star占有2.4k.便决定分析Equinox项目来学习下CQR ...

  5. tomcat架构分析 (Session管理)

    Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到.在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session.那么如何产生se ...

  6. Magento架构分析,Magento MVC 设计分析

    Magento架构分析,Magento MVC 设计分析 分类:Magento 标签:Magento MVC.Magento架构 669人浏览 Magento 采用类似 JAVA的架构,其扩展与稳定性 ...

  7. Flickr 网站架构分析

    Flickr 网站架构分析 Flickr.com 是网上最受欢迎的照片共享网站之一,还记得那位给Windows Vista拍摄壁纸的Hamad Darwish吗?他就是将照片上传到Flickr,后而被 ...

  8. Android架构分析之Android消息处理机制(二)

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Android版本号:4.4.2 在上一篇文章中我们看了一个使用Handler处理Message消息的样例,本文我们 ...

  9. Qualcomm Android display架构分析

    Android display架构分析(一) http://blog.csdn.net/BonderWu/archive/2010/08/12/5805961.aspx http://hi.baidu ...

随机推荐

  1. ASP.NET MVC5 ModelBinder

    什么是ModelBinding ASP.NET MVC中,所有的请求最终都会到达某个Controller中的某个Action并由该Action负责具体的处理和响应.为了能够正确处理请求,Action的 ...

  2. Oracle 中的操作符

    1.union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: SELECT * FROM emp WHERE sal < UNION SELECT * FROM emp WH ...

  3. [.NET Core].NET Core R2安装教程及Hello示例

    前言 前几天.NET Core发布了.NET Core 1.0.1 R2 预览版,之前想着有时间尝试下.NET Core.由于各种原因,就没有初试.刚好,前几天看到.NET Core发布新版本了,决定 ...

  4. 让我们再为C#异步编程Async正名

    本文版权归博客园和作者吴双本人共同所有.转载和爬虫必须在显要位置注明出处:http://www.cnblogs.com/tdws 半年前翻译了一系列很糟糕的异步编程文章,用异步的常用语来说:" ...

  5. DateHelper.cs日期时间操作辅助类C#

    //==================================================================== //** Copyright © classbao.com ...

  6. python generator next send

    *******oi********oi********oi 上面  *  符号 代表 一系列的代码, oi 代表 一个 [yield]关键字引出的 [数据交换,称之为 oi ] 在一个有[yield] ...

  7. Struts2入门(二)——配置拦截器

    一.前言 之前便了解过,Struts 2的核心控制器是一个Filter过滤器,负责拦截所有的用户请求,当用户请求发送过来时,会去检测struts.xml是否存在这个action,如果存在,服务器便会自 ...

  8. php的http_build_query使用

    http_build_query生成 url-encoded 之后的请求字符串 1.使用键值对,关联数组: <?php $data = array('foo'=>'bar', 'baz'= ...

  9. 微软要如何击败Salesforce?Office365、Azure、Dynamics365 全面布局AI | 双语

    微软在上月宣布组建自己的 AI 研究小组.该小组汇集了超过 5000 名计算机科学家和工程师,加上微软内部研究部门,将共同挖掘 AI 技术. 与此同时,亚马逊,Facebook,Google,IBM ...

  10. Android Weekly Notes Issue #230

    Android Weekly Notes Issue #230 November 6th, 2016 Android Weekly Issue #230. Android Weekly笔记, 本期内容 ...