Red_angelX(八戒)说:
用户表里面设计1个或者N个权限列,对应每个操作 1 0
这样可以对应每个操作都记录是否有权限-_-#
这样的话只对用户组来说是可以的,但现在我是对用户--> 角色--> 模块得到权限
以下是我的表
模块表
ID 模块名
1 汽车操作
2 火车操作
模块项目表
id 项目名
1 华南汽车票
2 华北汽车票
模块相应命令表
id 模块ID 项目ID 操作命令名
1 1 1 查看
2 1 2 下单
角色表
ID 角色
1 操作员
2 汽车操作员
角色操作设置
ID 角色ID 模块相应命令ID 是否可操作
1 1 1 1
2 1 2 0
用户角色设置
ID 用户ID 拥有角色ID
1 107 1
2 107 2
然后用页面命令前用
Authority(模块命令ID)==0?return;
类
public static Authority(Int 模块命令ID)
{
return sql查询当前用户相应模块命令ID的值
}
大家看看这样可不可以
我感觉应该可行,
但主要的是当用户权限数据写下来的时候就没有办法更改了
2
------解决方案--------------------------------------------------------
/****** 对象: Table [dbo].[TB_ActionType] 脚本日期: 03/23/2007 15:10:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TB_ActionType](
[ActionTypeID] [smallint] IDENTITY(1,1) NOT NULL,
[ActionName] [nvarchar](10) NOT NULL,
[ActionRemark] [nvarchar](100) NULL,
CONSTRAINT [TB_ActionType_PK] PRIMARY KEY CLUSTERED
(
[ActionTypeID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** 对象: Table [dbo].[TB_FunctionAction] 脚本日期: 03/23/2007 15:10:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TB_FunctionAction](
[FAID] [int] IDENTITY(1,1) NOT NULL,
[ActionTypeID] [smallint] NOT NULL,
[FunID] [varchar](50) NULL,
CONSTRAINT [TB_FunctionAction_PK] PRIMARY KEY CLUSTERED
(
[FAID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** 对象: Table [dbo].[TB_SysFunctions] 脚本日期: 03/23/2007 15:10:32 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TB_SysFunctions](
[FunID] [varchar](50) NOT NULL,
[FunName] [nvarchar](100) NOT NULL,
[ParentID] [varchar](50) NULL,
[PagePath] [nvarchar](200) NULL,
[IsMenu] [smallint] NULL,
[Remark] [nvarchar](100) NULL,
CONSTRAINT [TB_SysFunctions_PK] PRIMARY KEY CLUSTERED
(
[FunID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]