SQLiteMembershipDb

 SQLite 版的Membership的数据库内容。本来打算做一个SQLite 版的Membership,在基本完成时发现,确实不能满足项目需要,所以留在这里存档。以备后用,或者网友需要。呵呵。。 

PRAGMA foreign_keys=ON;
BEGIN TRANSACTION;
CREATE TABLE "aspnet_WebEvent_Events"(
	"EventId" NVARCHAR(32) NOT NULL,
	"EventTimeUtc" DATETIME NOT NULL,
	"EventTime" DATETIME NOT NULL,
	"EventType" NVARCHAR(256) NOT NULL,
	"EventSequence" DECIMAL(19, 0) NOT NULL,
	"EventOccurrence" DECIMAL(19, 0) NOT NULL,
	"EventCode" INTEGER NOT NULL,
	"EventDetailCode" INTEGER NOT NULL,
	"Message" NVARCHAR(1024) NULL,
	"ApplicationPath" NVARCHAR(256) NULL,
	"ApplicationVirtualPath" NVARCHAR(256) NULL,
	"MachineName" NVARCHAR(256) NOT NULL,
	"RequestUrl" NVARCHAR(1024) NULL,
	"ExceptionType" NVARCHAR(256) NULL,
	"Details" TEXT NULL,
  PRIMARY KEY("EventId")
);
CREATE TABLE "aspnet_Applications"(
  "ApplicationName" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
  "LoweredApplicationName" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
  "ApplicationId" NVARCHAR(40) NOT NULL COLLATE NOCASE,
  "Description" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
  PRIMARY KEY  ("ApplicationId")
  ----FOREIGN KEY("ApplicationId") REFERENCES "aspnet_Membership"("ApplicationId"),
  ---FOREIGN KEY("ApplicationId") REFERENCES "aspnet_Paths"("ApplicationId"),
  ---FOREIGN KEY("ApplicationId") REFERENCES "aspnet_Roles"("ApplicationId"),
  ---FOREIGN KEY("ApplicationId") REFERENCES "aspnet_Users"("ApplicationId")
);
CREATE TABLE "aspnet_Paths"(
	"ApplicationId" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
	"PathId" NVARCHAR(40) NOT NULL DEFAULT '' COLLATE NOCASE,
	"Path" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
	"LoweredPath" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
 PRIMARY KEY("PathId"),
 ---FOREIGN KEY("PathId") REFERENCES "aspnet_PersonalizationAllUsers"("PathId"),
 ---FOREIGN KEY("PathId") REFERENCES "aspnet_PersonalizationPerUser"("PathId")
 FOREIGN KEY("ApplicationId") REFERENCES "aspnet_Applications"("ApplicationId")
);
CREATE TABLE "aspnet_Users"(
	"ApplicationId" NVARCHAR(40) NOT NULL COLLATE NOCASE,
	"UserId" NVARCHAR(40) NOT NULL COLLATE NOCASE,
	"UserName" NVARCHAR(256) NOT NULL,
	"LoweredUserName" NVARCHAR(256) NOT NULL,
	"MobileAlias" NVARCHAR(16) NULL,
	"IsAnonymous" TINYINT NOT NULL DEFAULT 0,
	"LastActivityDate" DATETIME NOT NULL,
 PRIMARY KEY("UserId"),
 FOREIGN KEY("ApplicationId") REFERENCES "aspnet_Applications"("ApplicationId")
 ----FOREIGN KEY("UserId") REFERENCES "aspnet_Membership"("UserId")
);
CREATE TABLE "aspnet_PersonalizationAllUsers"(
	"PathId" NVARCHAR(40) NOT NULL DEFAULT '' COLLATE NOCASE,
	"PageSettings" BLOB NOT NULL,
	"LastUpdatedDate" DATETIME NOT NULL,
  PRIMARY KEY("PathId"),
  FOREIGN KEY("PathId") REFERENCES "aspnet_Paths"("PathId")
  );
CREATE TABLE "aspnet_PersonalizationPerUser"(
	"Id" NVARCHAR(40) NOT NULL,
	"PathId" NVARCHAR(40) NULL,
	"UserId" NVARCHAR(40) NULL,
	"PageSettings" BLOB NOT NULL,
	"LastUpdatedDate" DATETIME NOT NULL,
  PRIMARY KEY("Id"),
  FOREIGN KEY("PathId") REFERENCES "aspnet_Paths"("PathId"),
  FOREIGN KEY("UserId") REFERENCES "aspnet_Users"("UserId")
  );
CREATE TABLE "aspnet_Profile"(
	"UserId"  NVARCHAR(40) NOT NULL COLLATE NOCASE,
	"PropertyNames" TEXT NOT NULL,
	"PropertyValuesString" TEXT NOT NULL,
	"PropertyValuesBinary" BLOB NOT NULL,
	"LastUpdatedDate" DATETIME NOT NULL,
	PRIMARY KEY("UserId"),
	FOREIGN KEY("UserId") REFERENCES "aspnet_Users"("UserId")
	);
CREATE TABLE "aspnet_SchemaVersions"(
	"Feature" NVARCHAR(128) NOT NULL,
	"CompatibleSchemaVersion" NVARCHAR(128) NOT NULL,
	"IsCurrentVersion" TINYINT NOT NULL,
 PRIMARY KEY("Feature","CompatibleSchemaVersion")
);
CREATE TABLE "aspnet_UsersInRoles"(
	"UserId" NVARCHAR(40) NOT NULL COLLATE NOCASE,
	"RoleId" NVARCHAR(40) NOT NULL COLLATE NOCASE,
  PRIMARY KEY("UserId" ASC,"RoleId" ASC),
  FOREIGN KEY("RoleId") REFERENCES "aspnet_Roles"("RoleId"),
  FOREIGN KEY("UserId") REFERENCES "aspnet_Users"("UserId")
);
CREATE TABLE "aspnet_Roles"(
	"ApplicationId" NVARCHAR(40) NOT NULL COLLATE NOCASE,
	"RoleId" NVARCHAR(40) NOT NULL COLLATE NOCASE,
	"RoleName" NVARCHAR(256) NOT NULL COLLATE NOCASE,
	"LoweredRoleName" NVARCHAR(256) NOT NULL COLLATE NOCASE,
	"Description" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
	PRIMARY KEY("RoleId"),
	FOREIGN KEY("ApplicationId") REFERENCES "aspnet_Applications"("ApplicationId")
	);
CREATE TABLE "aspnet_Membership"(
 "ApplicationId" NVARCHAR(40) NOT NULL DEFAULT '' COLLATE NOCASE,
 "UserId" NVARCHAR(40) NOT NULL DEFAULT '' COLLATE NOCASE,
 "Password" NVARCHAR(128) NOT NULL DEFAULT '' COLLATE NOCASE,
 "PasswordFormat" INTEGER NOT NULL DEFAULT 0,
 "PasswordSalt" NVARCHAR(128) NOT NULL DEFAULT '' COLLATE NOCASE,
 "MobilePIN" NVARCHAR(16) NOT NULL DEFAULT '' COLLATE NOCASE,
 "Email" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
 "LoweredEmail" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
 "PasswordQuestion" NVARCHAR(256) NOT NULL DEFAULT '' COLLATE NOCASE,
 "PasswordAnswer" NVARCHAR(128) NOT NULL DEFAULT '' COLLATE NOCASE,
 "IsApproved" TINYINT NOT NULL DEFAULT 0 ,
 "IsLockedOut" TINYINT NOT NULL DEFAULT 0 ,
 "CreateDate" DATETIME  NOT NULL,
 "LastLoginDate" DATETIME NOT NULL,
 "LastPasswordChangedDate" DATETIME  NOT NULL,
 "LastLockoutDate" DATETIME NOT NULL DEFAULT '1983-05-06',
 "FailedPasswordAttemptCount" INTEGER NOT NULL DEFAULT 0,
 "FailedPasswordAttemptWindowStart" DATETIME  NOT NULL DEFAULT '1983-05-06',
 "FailedPasswordAnswerAttemptCount" INTEGER NOT NULL DEFAULT 0,
 "FailedPasswordAnswerAttemptWindowStart" DATETIME  NOT NULL DEFAULT '1983-05-06',
 "Comment" TEXT NULL,
 PRIMARY KEY("UserId"),
 FOREIGN KEY("UserId") REFERENCES "aspnet_Users"("UserId")
 FOREIGN KEY("ApplicationId") REFERENCES "aspnet_Applications"("ApplicationId")
);
CREATE UNIQUE INDEX "aspnet_WebEvent_Events_EventId" on "aspnet_WebEvent_Events"("EventId");
CREATE UNIQUE INDEX "aspnet_Applications_ApplicationId" on "aspnet_Applications"("ApplicationId");
CREATE INDEX "aspnet_Paths_ApplicationId" on "aspnet_Paths"("ApplicationId");
CREATE UNIQUE INDEX "aspnet_Paths_PathId" on "aspnet_Paths"("PathId");
CREATE INDEX "aspnet_Users_ApplicationId" on "aspnet_Users"([ApplicationId]);
CREATE UNIQUE INDEX "aspnet_Users_UserId" on "aspnet_Users"("UserId");
CREATE UNIQUE INDEX "aspnet_PersonalizationAllUsers_PathId" on "aspnet_PersonalizationAllUsers"("PathId");
CREATE UNIQUE INDEX "aspnet_PersonalizationPerUser_Id" on "aspnet_PersonalizationPerUser"("Id");
CREATE INDEX "aspnet_PersonalizationPerUser_PathId" on "aspnet_PersonalizationPerUser"("PathId");
CREATE INDEX "aspnet_PersonalizationPerUser_UserId" on "aspnet_PersonalizationPerUser"("UserId");
CREATE UNIQUE INDEX "aspnet_Profile_UserId" on "aspnet_Profile"("UserId");
CREATE UNIQUE INDEX "aspnet_SchemaVersions_Feature" on "aspnet_SchemaVersions"("Feature");
CREATE UNIQUE INDEX "aspnet_UsersInRoles_RoleId" on "aspnet_UsersInRoles"("RoleId");
CREATE UNIQUE INDEX "aspnet_UsersInRoles_UserId" on "aspnet_UsersInRoles"("UserId");
CREATE UNIQUE INDEX "aspnet_Roles_RoleId" on "aspnet_Roles"("RoleId");
CREATE INDEX "aspnet_Membership_ApplicationId" on "aspnet_Membership"("ApplicationId");
CREATE UNIQUE INDEX "aspnet_Membership_UserId" on "aspnet_Membership"("UserId");
COMMIT;

SQLiteMembershipProvider

本来打算写个SQLiteMembershipProvider,包括SQLiteRolesProvider,但是写到差不多完成打算放弃。。改用SqlServer..这个东西放在这里存档。写的时候参考了网上很多定法,虽基本功能是可以使用咯。但是没有系统优化整理,网上收集+自己写的七拼八凑的。。本来打算写个SQLiteMembershipProvider,但是写到差不多完成打算放弃。。改用SqlServer..这个东西放在这里存档。基本功能是可以使用咯。没有优化整理而已。 Continue reading SQLiteMembershipProvider

Membership 数据表结构详细解释

表名:aspnet_Applications

说明:保存应用程序信息

字段名 类型 属性 说明
ApplicationName nvarchar(256) 应用程序名
LoweredApplicationName nvarchar(256) 小写的应用程序名
ApplicationId uniqueidentifier PK 应用程序的id, GUID值
Description nvarchar(256) nullable 应用程序的 描述

Continue reading Membership 数据表结构详细解释