论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP JSP .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

权限及公共模块设计与开发(论文+程序)

4.1.4   系统异常处理

系统异常处理有类MyException实现,它继承于系统的异常类Exception,并重载基类的 异常处理函数MyException().该类中了定义了两个异常处理函数,其中一个函数为MyException(string source,string message,Exception inner),该函数在重载记录函数时添加了一个异常代码参数 source,它可以用来标识异常的代码;另外一个函数为MyException(stringsource,string message),它也是继承于基类异常函数MyException(),也在重载记录异常函数时添加了一个异常代码参数。并且在异常处理的代码内部调用日志类函数将异常信息持久化。  paper51.com

4.1.5   系统通用页面设计 内容来自论文无忧网 www.paper51.com

当用户登陆系统之后,进入系统平台的主页面,它由Main.aspx、Spliter.aspx、Left.aspx和Top.aspx4个页面组成。并且可以根据自己的喜好,选择不同的页面风格,系统将自动加载用户设置的风格。如图7所示。

内容来自论文无忧网 www.paper51.com

内容来自www.paper51.com

图7  主界面 paper51.com

4.2     权限系统模块的实现

内容来自论文无忧网 www.paper51.com

系统主功能模块包括用户信息管理,角色管理,权限管理,资源与权限的绑定,用户与角色的绑定等。 paper51.com

4.2.1   用户信息管理和角色绑定

内容来自www.paper51.com

本系统中的起始页面为Login.aspx,如图8所示。 paper51.com

paper51.com

图8 系统登陆界面 paper51.com

用户点击【登录】时,系统初始化命名空间Njj.Accounts.bus下类User的一个user对象,将user赋予当前上下文user对象。根据用户当前的身份标识中的密码验证用户身份的有效性,若成功则设置用户系统登陆,添加日志,添加用户的用户信息到Session中,并且加载用户设置的界面风格,最后跳转到应用系统操作主界面。该程序代码如下所示。

内容来自www.paper51.com

AccountsPrincipal newUser = AccountsPrincipal.ValidateLogin(userName, Password); //根据用户名和密码初始化用户标识,实现iprincipal接口

http://www.paper51.com

        if (newUser == null)

copyright paper51.com

        {

copyright paper51.com

            this.lblMsg.Text = "登陆失败: " + userName;

内容来自论文无忧网 www.paper51.com

        } 内容来自www.paper51.com

        else

内容来自论文无忧网 www.paper51.com

        {

paper51.com

            User currentUser = new NJJ.Accounts.Bus.User(newUser);//根据用户标识初始化用户对象 copyright paper51.com

            Context.User = newUser;   将当前上下文用户标识设为新用户 内容来自论文无忧网 www.paper51.com

            if (((SiteIdentity)User.Identity).TestPassword(Password) == 0) //检测用户密码 内容来自论文无忧网 www.paper51.com

            {

paper51.com

                this.lblMsg.Text = "你的密码无效!";

内容来自www.paper51.com

            } http://www.paper51.com

            else http://www.paper51.com

            {

http://www.paper51.com

                FormsAuthentication.SetAuthCookie(userName, false); //设置用户登陆 内容来自www.paper51.com

                NJJ.TreeAndLog.TreeAndLogManage log = new NJJ.TreeAndLog.TreeAndLogManage();                  log.AddLog(DateTime.Now.ToString(), "用户登陆", User.Identity.Name, "1");//添加日志

paper51.com

                Session["UserInfo"] = currentUser;  //session保存当前用户信息

paper51.com

                Session["Style"] = currentUser.Style; //session保存用户设置的界面风格

paper51.com

                if (Session["returnPage"] != null) 

内容来自www.paper51.com

                { http://www.paper51.com

                    string returnpage = Session["returnPage"].ToString(); paper51.com

                    Session["returnPage"] = null; 内容来自论文无忧网 www.paper51.com

                    Response.Redirect(returnpage); 内容来自www.paper51.com

                } http://www.paper51.com

                else http://www.paper51.com

                {

http://www.paper51.com

                    Response.Redirect("main.htm"); paper51.com

                } 内容来自www.paper51.com

            }

内容来自www.paper51.com

用户管理页面为:UserAdmin.aspx,界面如图9所示。

http://www.paper51.com

用户角色分配界面如图10所示。

copyright paper51.com

内容来自www.paper51.com

图9 用户管理 copyright paper51.com

copyright paper51.com

图10 角色分配

内容来自论文无忧网 www.paper51.com

页面初始化时调用函数user对象的GetAllUsers()方法获取所有用户数据并绑定到datagrid中。

paper51.com

点击图中的修改角色链接可进入用户与角色绑定界面。

paper51.com

4.2.2   角色管理和权限绑定 paper51.com

角色管理和权限绑定页面主要为RoleAdmin.aspx和EditRole.aspx,主要实现对增加新的角色、修改角色、删除角色,和角色对象权限的分配功能。如图11,图12所示。

内容来自www.paper51.com

内容来自www.paper51.com

图11 角色管理

http://www.paper51.com

内容来自www.paper51.com

图12 编辑角色信息 内容来自论文无忧网 www.paper51.com

RoleAdmin.aspx页面调用了命名空间Njj.Accounts.bus下Role类对象的相关方法,GetRoleList()得到所有的角色列表,Create()建立新角色。 http://www.paper51.com

EditRole.aspx中,首先listbox中绑定某类别权限下的所有权限,点击增加权限按钮调用Role类对象的AddPermission()向角色分配对应的权限。

内容来自论文无忧网 www.paper51.com

4.2.3   权限管理 copyright paper51.com

权限管理主要实现权限类别及权限命名的管理,如图13所示。代码如下所示。

paper51.com

int CategoryId = int.Parse(this.ClassList.SelectedValue); 内容来自论文无忧网 www.paper51.com

        DataSet PermissionsList = AccountsTool.GetPermissionsByCategory(CategoryId);

内容来自www.paper51.com

        this.DataGrid1.DataSource = PermissionsList; 内容来自www.paper51.com

        this.DataGrid1.DataBind(); http://www.paper51.com

http://www.paper51.com

图13 权限管理

内容来自论文无忧网 www.paper51.com

本模块包含权限类别的添加,修改,删除,以及类别下子权限的添加,修改,删除等功能,主要针对命名空间下Njj.Accounts.Bus下的PermissionCategories和Permissions类进行操作。 内容来自www.paper51.com

------分隔线----------------------------
联系方式