转自: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. LINQ to SQL语句(18)之运算符转换

    运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...

  2. ASP.NET WebApi 文档Swagger深度优化

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明博客园蜗牛原文地址,cnblogs.com/tdws   写在前面 请原谅我这个标题党,写到了第100篇随笔,说是深度优化,其实也并没有什么深度 ...

  3. Error:Execution failed for task ':app:clean'.

    运行时出现 Error:Execution failed for task ':app:clean'. 错误,Builld->Clean Project即可.

  4. Java 单例模式详解

    概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例.饿汉式单例.登记式单例三种. 单例模式有一下特点: 1.单例类只能有一个实例. 2.单例类必须自己自己创建自己的唯一实例. ...

  5. J2EE项目开发中常用到的公共方法

    在项目IDCM中涉及到多种工单,包括有:服务器|网络设备上下架工单.服务器|网络设备重启工单.服务器光纤网线更换工单.网络设备撤线布线工单.服务器|网络设备替换工单.服务器|网络设备RMA工单.通用原 ...

  6. 一些简单的C语言算法

    1. 要求输入一个正整数,打印下述图形 输入:5 输出: * ** *** **** ***** 实现代码如下: #include <stdio.h> int main(int argc, ...

  7. Maven远程仓库的认证

    大部分远程仓库无须认证就可以访问,但有时处于安全方面的考虑,我们需要提供认证信息才能访问一些远程仓库.为了防止非法的仓库访问,管理员为每个仓库提供了一组用户名及密码. 这时,为了能让Maven访问仓库 ...

  8. Web 开发中很实用的10个效果【附源码下载】

    在工作中,我们可能会用到各种交互效果.而这些效果在平常翻看文章的时候碰到很多,但是一时半会又想不起来在哪,所以养成知识整理的习惯是很有必要的.这篇文章给大家推荐10个在 Web 开发中很有用的效果,记 ...

  9. cookie存储对象信息

    最近看到某公司某项目中用于保存多个城市信息到cookie中的方法,该方法的逻辑是按时间顺序记录最近访问过的三个城市的名字及id,逻辑包插入与含排重.插入与排重的代码如下: 1 2 3 4 5 6 7 ...

  10. GitHub Pages 绑定二级域名

    Updated: 2016.06.22 网上搜出一大把,很多还是重复转载的文章,关键是步骤很麻烦,比如:要注册 DNSPod,要 Ping IP(感觉不靠谱,IP是可以变的). 后来看了官方帮助,其它 ...