asp.net2.0下用户权限实现方法初探(一)。

  至从MS推出vs2005 .net2.0后,很多新手就发现了vs2005内置了login之类的用户权限管理的控件,而且可以通过aspreg之类的命令直接在数据库实现用户权限的表还有实现。这种方法还可以通过membership和profile来进行扩展。现在就对个人设计和用.net2.0内置的权限管理部门进行探讨,不足之处请各位斧正。

一般来说一个简单的系统权限为三部分用户、权限、角色

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]

下午继续。。。。。

你可能感兴趣的:(asp.net)