membership表结构

membership表结构

 

转载:

==========================================

 

表名:aspnet_Applications

说明:保存应用程序信息

 

字段名

 

类型

 

属性

 

说明

 

ApplicationName

 

nvarchar(256)

 

 

 

应用程序名

 

LoweredApplicationName

 

nvarchar(256)

 

 

 

小写的应用程序名

 

ApplicationId

 

uniqueidentifier

 

PK

 

应用程序的id, GUID值

 

Description

 

nvarchar(256)

 

nullable

 

应用程序的 描述

 

表名:aspnet_Paths

说明:路径信息

 

字段名

 

类型

 

属性

 

说明

 

ApplicationId

 

uniqueidentifier

 

FK: appnet_Applications.ApplciationId

 

应用程序Id

 

PathId

 

uniqueidentifier

 

PK

 

路径Id

 

Path

 

nvarchar(256)

 

 

 

路径信息

 

LoweredPath

 

nvarchar(256)

 

 

 

小写的路径信息

 

表名:aspnet_Users

说明:用户信息

 

字段名

 

类型

 

属性

 

说明

 

ApplicationId

 

uniqueidentifier

 

 

 

应用程序Id

 

UserId

 

uniqueidentifier

 

PK

 

用户Id

 

UserName

 

nvarchar(256)

 

 

 

用户名

 

LoweredUserName

 

nvarchar(256)

 

 

 

小写的用户名

 

MobileAlias

 

nvarchar(16)

 

 

 

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

 

IsAnonymous

 

bit

 

 

 

是否为匿名用户

 

LastActivityDate

 

datetime

 

 

 

最后活动日期

 

表名:aspnet_Membership

说明:成员信息

 

字段名

 

类型

 

属性

 

说明

 

ApplicationId

 

uniqueidentifier

 

FK: appnet_App

lications.

ApplciationId

 

应用程序Id

 

UserId

 

uniqueidentifier

 

FK: aspnet_Users.

UserID

 

用户Id

 

Password

 

nvarchar(128)

 

 

 

密码

 

PasswordFormat

 

int

 

 

 

存储密码的格式

 

PasswordSalt

 

nvarchar(128)

 

 

 

密码的Hash值

 

MobilePIN

 

nvarchar(16)

 

 

 

手机PIN码

 

Email

 

nvarchar(256)

 

 

 

电子邮件地址

 

LoweredEmail

 

nvarchar(256)

 

 

 

小写的电子邮件地址

 

PasswordQuestion

 

nvarchar(256)

 

 

 

遗忘密码问题

 

PasswordAnswer

 

nvarchar(128)

 

 

 

遗忘密码答案

 

IsApproved

 

bit

 

 

 

 

 

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

 

 

 

备注

 

表名:aspnet_Roles

说明:角色表

 

字段名

 

类型

 

属性

 

说明

 

ApplicationId

 

uniqueidentifier

 

FK: appnet_Applications.ApplciationId

 

应用程序Id

 

RoleId

 

uniqueidentifier

 

PK

 

角色Id

 

RoleName

 

nvarchar(256)

 

 

 

角色名称

 

LoweredRoleName

 

nvarchar(256)

 

 

 

小的角色名称

 

Description

 

nvarchar(256)

 

nullable

 

描述

 

表名:aspnet_UsersInRoles

说明:用户角色关系表

 

字段名

 

类型

 

属性

 

说明

 

UserID

 

uniqueidentifier

 

FK: aspnet_Users.UserId

 

用户ID

 

RoleID

 

uniqueidentifier

 

FK: aspnet_Roles.RoleId

 

角色ID

 

表名:aspnet_Profile

说明:Profile对象存储表

 

字段名

 

类型

 

属性

 

说明

 

UserId

 

uniqueidentifier

 

FK: aspnet_Users.UserId

 

用户ID

 

PropertyNames

 

ntext

 

 

 

属性名称

 

PropertyValuesString

 

ntext

 

 

 

字符串值

 

PropertyValuesBinary

 

image

 

 

 

二进制值

 

LastUpdatedDate

 

datetime

 

 

 

最后更新日期

 

表名:aspnet_PersonalizationAllUsers

 

 

字段名

 

类型

 

属性

 

说明

 

PathId

 

uniqueidentifier

 

FK: aspnet_Paths.PathId

 

路径ID

 

PageSetting

 

ntext

 

 

 

个性化设置

 

LastUpdatedDate

 

datetime

 

 

 

最后更新日期

 

表名:aspnet_PersonalizationPerUser

 

 

字段名

 

类型

 

属性

 

说明

 

Id

 

uniqueidentifier

 

PK

 

ID

 

PathID

 

uniqueidentifier

 

FK: aspnet_Paths.PathId

 

路径ID

 

UserID

 

uniqueidentifier

 

FK:aspnet_Users.UserId

 

用户ID

 

PageSetting

 

ntext

 

 

 

个性化设置

 

LastUpdatedDate

 

datetime

 

 

 

最后更新日期

 

 

1.aspnet_Application :用来保存系统名的,每一个不同的系统名都会生成一个唯一的ID,这个ID是与其它关联关系的外键。

2.aspnet_Users :用户表,但是它只保存了用户ID基本不会变的信息,并且会有一个Uniqueidentifier类型的字段UserId来作为每个用户的唯一标识(并 且是主键),以方便与其它表的关联。值得注意的是还有一个ApplicationId字段,通过这个字段与aspnet_Application进行关 联,以此来将区分用户是属于哪个系统的。由于UserName字段本身并不是主键,所以它是可以有重复值的,但不是说一个系统允许存在相同的用户名。正是 ApplicationId字段来标识相同的用户名是属于不同的系统的。ApplicationId字段的作用就在于此,所以你可以看到很多表中都有这个 字段的存在。

3.aspnet_Membership :保存着用户的一些可变(不可变)的基本信息。

 

 

字段

 

作用

 

ApplicationId

 

标识用户属于哪个系统

 

UserId

 

与aspnet_Users关联的字段

 

Password

 

加密或未加密的密码

 

PasswordFormat

 

指示密码的存储格式(明文或使用的加密码算法)

 

PasswordSalt

 

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

 

MobilePIN

 

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

 

Email

 

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

 

LoweredEmail

 

小写的Email

 

PasswordQuestion

 

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

 

PasswordAnswer

 

密码安全问题答案

 

IsApproved

 

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

 

IsLockedOut

 

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

 

CreateDate

 

创建时间

 

LastLoginDate

 

最后登录时间

 

LastPasswordChangedDate

 

最后修改密码的时间

 

LastLockoutDate

 

最后被锁定的时间

 

FailedPasswordAttemptCount

 

密码重试次数

 

FailedPasswordAttemptWindowStart

 

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

 

FailedPasswordAnswerAttemptCount

 

安全密码重试次数

 

FailedPasswordAnswerAttemptWindowStart

 

类同FailedPasswordAttemptWindowStart

 

Comment

 

其它自定义信息

 

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

 

二、如何注册所需的数据库及存储过程。

了解了数据库结构后,接下来要解决的是就是如何创建这样一个数据库了。我们不可能手工的去创建这些表和存储过程的,当然后去手工去运行一段SQL语句也不是有点麻烦的。不用担心,.NET 2.0中已经提供相关的工具来注册这样一个数据库了,运行.NET命令行窗口,运行aspnet_regsql命令,会出现向导窗口。一段解析性提示进入下一步:

两个选项分别为配置aspnet数据库和删除已配置的aspnet数据库,进入下一步后:

membership表结构_第1张图片

输入所需的数据库验证信息,在Database字段处需要注意:如果有选择已有的数据库,那这些表和存储过程将被创建到已有的数据库中;如果输入不存在的数据库名,那么将会创建一个新的数据库,存放这些表和存储过程,默认数据名为aspnetdb。再两步以后就会完成了数据库的注册了。

BTW:aspnet_regsql 命令还可以做很多事,可以参考MSDN得到更多的帮助。

三、配置文件的支持。

Provider 模式非常依赖配置文件支持,实际上它是创建型设计模式的一种很直接的应用。由于框架内部调用都是抽象类型的接口,所以要给通过配置文件给这些抽象类提供具体的实现类,并配置一些所需的参数。在asp.net 2.0的web.config文件中,提供了对这些配置的直接支持,并且还可以很容易的进行扩展。

四、接口支持。

继承了.NET 框架的优良传统,整个的Membership,Roles,Profile等功能都提供了非常简单的API供开发人员调用,Membership, Roles都被封装成静态类,并且重载了非常多的方法重载,以方便调用。而Profile更是在VS 2005 IDE的帮助下,可以动态生成类型定义,支持设计时的属性调用。

你可能感兴趣的:(加密,数据库,.net,application,存储,asp.net)