转自: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. 前端打包构建工具gulp快速入门

    因为之前一直有人给我推荐gulp,说他这里好哪里好的.实际上对我来说够用就行.grunt熟悉以后实际上他的配置也不难,说到效率的话确实是个问题,尤其项目大了以后,目前位置遇到的项目都还可以忍受.不过不 ...

  2. AC自动机-算法详解

    What's Aho-Corasick automaton? 一种多模式串匹配算法,该算法在1975年产生于贝尔实验室,是著名的多模式匹配算法之一. 简单的说,KMP用来在一篇文章中匹配一个模式串:但 ...

  3. IO模型

    前言 说到IO模型,都会牵扯到同步.异步.阻塞.非阻塞这几个词.从词的表面上看,很多人都觉得很容易理解.但是细细一想,却总会发现有点摸不着头脑.自己也曾被这几个词弄的迷迷糊糊的,每次看相关资料弄明白了 ...

  4. MVC跨项目路由

    我们在实际应用开发中,经常遇到多人共同开发维护同一个项目情况,所以不免会出现其中一个人代码出现bug质量问题导致整个项目就原地“爆炸”的惨状.在之前公司经常遇到某个人忘记更新(我就做个此事[" ...

  5. DbMigration使用方法

    1.Enable-Migrations -ContextTypeNameLITCS.Data.gmisContext Enable-Migrations  命令创建了一个新的Migrations文件夹 ...

  6. Atitit.数据采集器 dataspider

    Atitit.数据采集器 dataspider /atiplat_cms/src/com/attilax/WebInfoX.java  @dep http://cl.cmcher.com/thread ...

  7. js数组转换问题

    一维数组转多维数组 var arr=[1,2,3,4,5,6,7,8,9,10]; function splitArray(arr,size){ var result = []; var tempAr ...

  8. XTemplate语法基础

    XTemplate 是富逻辑的 KISSY 模板引擎,面向复杂的业务逻辑场景,同时保持高性能和丰富的配置方法,是易学易懂的模板语言. 一个典型的XTemplate模板实例: Hello {{name} ...

  9. 金融行业的BI应用分析

    商业智能是一种提高企业智能化的手段,它可以满足企业发展的需要.提高企业的竞争力.同时,对于提高金融行业的风险管理.提升对外服务的质量都能够起到关键性的作用. 在市场竞争和银行业务转型期间,商业智能对于 ...

  10. Atitit.数据检索与网络爬虫与数据采集的原理概论

    Atitit.数据检索与网络爬虫与数据采集的原理概论 1. 信息检索1 1.1. <信息检索导论>((美)曼宁...)[简介_书评_在线阅读] - dangdang.html1 1.2. ...