[原创]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]
下午继续。。。。。

posted on 2007-10-18 11:13  蓝色的.net  阅读(268)  评论(0编辑  收藏  举报

导航