asp.net2.0でのユーザ権限実装方法の初期プローブ(一).

25571 ワード

MSから発売vs 2005.net2.0後、vs 2005にはloginなどのユーザ権限管理のコントロールが内蔵されており、aspregなどのコマンドでデータベースで直接ユーザ権限を実現できるテーブルも実装されている.この方法はmembershipとprofileによって拡張することもできる.今は個人の設計と使用についてです.net2.0内蔵の権限管理部門で検討しますが、不足点は斧正でお願いします.
一般的に簡単なシステム権限は、ユーザー、権限、ロールの3つの部分です.
1、一つは自分でコードを書いて実現することです.
SQLに対応するテーブルを作成
/******権限区分******/
CREATE TABLE [dbo].[Accounts_PermissionCategories](

	[CategoryID] [int] IDENTITY(1,1) NOT NULL,

	[Description] [varchar](255) NULL

) ON [PRIMARY]

/******権限テーブル******/
CREATE TABLE [dbo].[Accounts_Permissions](

	[PermissionID] [int] IDENTITY(1,1) NOT NULL,

	[Description] [varchar](255) NULL,

	[CategoryID] [int] NULL

) ON [PRIMARY]



/******       ******/ 
CREATE TABLE [dbo].[Accounts_RolePermissions](

	[RoleID] [int] NOT NULL,

	[PermissionID] [int] NOT NULL

) ON [PRIMARY]
/******         ******/ 
CREATE TABLE [dbo].[Accounts_UserRoles](

	[UserID] [int] NOT NULL,

	[RoleID] [int] NOT NULL

) ON [PRIMARY]
USE [TianSoftData]

GO

/******       ******/



CREATE TABLE [dbo].[Accounts_Users](

	[UserID] [int] IDENTITY(1,1) NOT NULL,

	[UserName] [varchar](50) NOT NULL,

	[Password] [binary](20) NOT NULL,

	[TrueName] [varchar](50) NULL,

	[Sex] [char](2) NULL,

	[Phone] [varchar](20) NULL,

	[Email] [varchar](100) NULL,

	[EmployeeID] [int] NULL,

	[DepartmentID] [varchar](15) NULL,

	[Activity] [bit] NULL,

	[UserType] [char](2) NULL,

	[Style] [int] NULL,

 CONSTRAINT [PK_Accounts_Users] PRIMARY KEY CLUSTERED 

(

	[UserID] ASC

)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]

) ON [PRIMARY]

/******     ******/ 
CREATE TABLE [dbo].[Accounts_Roles](

	[RoleID] [int] IDENTITY(1,1) NOT NULL,

	[Description] [varchar](255) NULL

) ON [PRIMARY]

    。。。。。