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