1、WEB管理系统中用户权限管理设计和实现摘要:网络信息管理系统中数据安全和用户操作权限是很关键。本文针对部分信息管理系统用户管理模块提出了作者思绪和实现方法。含有一定参考价值观。关键词:信息管理系统;用户管理;权限一、引言信息管理系统中数据安全是很关键,那基于WEB多用户信息管理系统中数据安全问题就显得更为关键,其中每个用户操作权限就必需由管理员依据工作需要来设置好,实现对于不一样用户登录系统以后出现不一样导航菜单。在实际开发过程中,因为有些企机关管理对于用户角色和权限划分不是太明确,所以对于这部分系统用户我采取了由管理员给每个用户动态添加对应功效,在用户登录时动态生成系统导航,这么每个用户登录
2、后只能进行管理员所给予操作。二、数据库表设计因为系统是在网络环境中运行,而且是多用户,不一样用户可能享受不一样操作权限,而且用户操作权限可能在随岗位或其它原因需要改变。为了系统安全,要求不一样用户登录以后只能看到自己所能进行操作,而且整个系统用户角色又不是那么显著。基于这么情况,为完成用户管理,设计了以下数据表:用户信息表(userinfo)列名数据类型长度是否NULL列含义备注IDchar4Not null用户编号主键DepartmentIDvarchar50Not null所在部门TrueUserNamevarchar50Not null实名PassWordvarchar50Not nul
3、l口令LastLoginTimesmalldatetime4NUll登录时间LastLogoutTimesmalldatetime4NUll退出时间LoginTimesint4Not null登录次数默认0UserLoginIPnvarchar50NUll登录IPOnLinebit1NUll是否在线功效表列名数据类型长度是否NULL列含义备注功效idnvarchar6Not null功效编号主键功效名称nvarchar50Not null导航标题文件名nvarchar50Not null超链文件分类nvarchar50Not null功效分类名称用户权限表列名数据类型长度是否NULL列含义备注
4、用户idchar4Not null用户编号功效idnvarchar6Not null功效编号二、功效模块设计示意图(图1)用户基础信息用户权限分配用户信息浏览用户添加用户修改用户删除用户密码修改用户功效分配用户功效移除用户管理图1 用户管理功效模块示意图三、功效实现1对于用户基础信息管理分别用不一样页面来实现用户信息增加、删除、修改和用户密码修改。2用户权限分配管理采取一个页面,由分配和移除功效来实现。操作界面图2:图2 用户权限管理界面设计时各关键控件ID列表控件 控件ID方法 选择用户组合框DropDownList1未分配权限GridViewGridView2已分配权限GridViewGr
5、idView1分配按钮Button1Button1_Click移除按钮Button2Button2_Click实现思绪是:管理员登录后选择用户管理功效下用户权限分配功效,在弹出页面上首先选择要分配权限用户,然后分别采取GridView显示选中用户未分配权限和分配权限,在未分配权限中选择要分配给选中用户功效,然后点分配按钮,所选中功效就会出现在已分配权限 GridView中;在已分配权限中选择要移除权限,然后点移除按钮,所选中功效就会出现在未分配权限 GridView中;由图2能够很显著地看出每个用户所拥有权限功效。四、各关键功效实现方法:1未分配权限GridView数据绑定在数据库功效表中查找
6、目前用户所不含有操作功效,然后将所得数据集中信息绑定到未分配权限GridView中。具体过程以下:protected void gridview2bind() WebService webs = new WebService(); DataTable ds = new DataTable(); string userid = DropDownList1.SelectedValue.ToString(); ds = webs.ExcuteSelect(SELECT 功效id,分类,功效名称 FROM 功效表 where 功效id not in (select 功效id from 用户权限表 wh
7、ere 用户id= + userid + ); if (ds.Rows.Count = 0) Button1.Visible = false; else Button1.Visible = true; GridView2.DataSource = ds; GridView2.DataBind(); 2已分配权限GridView数据绑定在数据库功效表中查找目前用户所含有操作功效,然后将所得数据集中信息绑定到已分配权限GridView中。具体过程以下: protected void gridview1bind() WebService webs = new WebService(); DataTa
8、ble ds = new DataTable(); string userid = DropDownList1.SelectedValue.ToString(); ds = webs.ExcuteSelect(SELECT 功效id,分类,功效名称 FROM 功效表 where 功效id in (select 功效id from 用户权限表 where 用户id= + userid + ); if (ds.Rows.Count = 0) Button2.Visible = false; else Button2.Visible = true; GridView1.DataSource = ds
9、; GridView1.DataBind();3. 将在未分配权限GridView中所选择权限分配给用户逐项检验未分配权限GridView中全部选项,假如被选择,那么就将此功效添加给目前用户,不然继续检验下一项,直到检验完全部选项。具体过程以下: protected void Button1_Click(object sender, EventArgs e) string userid = DropDownList1.SelectedValue.ToString(); WebService webs = new WebService(); for (int i = 0; i = GridVie
10、w2.Rows.Count - 1; i+) CheckBox cbox = (CheckBox)GridView2.Rowsi.FindControl(CheckBox1); if (cbox.Checked = true) webs.ExcuteSql(insert into 用户权限表(用户id,功效id) values( + userid + , + GridView2.DataKeysi.Value.ToString() + ); gridview2bind(); gridview1bind(); 4. 将在已分配权限GridView中所选择权限删除逐项检验已分配权限GridView
11、中全部选项,假如被选择,那么就将此功效从目前用户权限中删除,不然继续检验下一项,直到检验完全部选项。具体过程以下: protected void Button2_Click(object sender, EventArgs e) string userid = DropDownList1.SelectedValue.ToString(); WebService webs = new WebService(); for (int i = 0; i = GridView1.Rows.Count - 1; i+) CheckBox cbox = (CheckBox)GridView1.Rowsi.F
12、indControl(CheckBox1); if (cbox.Checked = true) webs.ExcuteSql(delete from 用户权限表 where 用户id=+userid+ and 功效id=+GridView1.DataKeysi.Value.ToString()+); gridview2bind(); gridview1bind();注:ExcuteSql为一在WebService.cs文件中创建实施sql语句公用方法。五、用户登录后导航生成用户登录后依据分配给用户权限生成对应操作导航菜单。具体实现是用户登录后,在数据库权限表中查找此用户所拥有权限,然后以设计方法分类逐项在用户端将功效名称以超链接方法进行显示,超链接文件为对应程序文件即可。六、总结相关信息管理系统中用户管理,我认为能够依据具体情况具体分析,采取对应设计和实现方法,方便于系统管理,不能局限于固定模式。参考文件1欧阳星明,张华哲.大型网络MIS系统中基于角色权限管理J;计算机工程和应用;04期2韦朝强,李言,李娟,肖继明.基于ASP技术用户管理系统J;计算机和现代化;01期3向雄. ASP.NET用户权限管理研究J. 电脑编程技巧和维护 , ,(10) 4朱耀勤. 基于ASP.NET两种权限管理方法比较J. 电脑知识和技术 , ,(31)
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100