ASP.Net MVC权限设置

本文介绍了一个基于ASP.NET MVC的权限管理系统实现细节,包括数据库设计、使用ActionFilterAttribute进行权限验证的方法及优化建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:王文青
开发工具与关键技术:VS+ASP.Net MVC +SQL Server

数据库的设计:

用户表SYS_Users
用户IDUsersID
用户类型IDUsersTypesID
账号AccountNumber
密码Password
用户姓名UsersName
手机号码Phone
头像路径AvatarPath
创建时间CreationTime
用户类型表SYS_UserTypes
用户类型IDUsersTypesID
用户类型MCUserTypesName
描述Describe
系统模块功能表SYS_SystemModuleFunction
系统模块功能IDSystemModuleFunctionID
父IDFarID
系统模块功能MCSystemModuleFunctionName
路径URL
代码名称CodeName
启用否WhetherToEnable
排序Sort
描述Describe
权限组表SYS_UserPermissions
权限组IDAuthorizationGroupID
用户类型IDUsersTypesID
模块功能IDModuleFunctionID
添加人IDToAddPeopleID
添加时间AddTheTime
启用否WhetherToEnable

使用ActionFilterAttribute过滤类在某个方法前使用

[Permissions(Code = "代码名称")]//执行方法前使用
 public ActionResult TeamSpecifiedTimeSetting{
          return View();
}

建立Permissions .cs 内容如下

 public class Permissions : ActionFilterAttribute{//继承过滤类
/// <summary>
    /// 获取Code名称
    /// </summary>
    public string Code{ 
        get; 
        set; 
    }
public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
bool isstate = true;
if(isstate){
//逻辑判断代码
    }else{
   filterContext.Result = new RedirectResult("url" + "没有该模块的权限")
    }
         }
            }

项目总结:
在这次项目中,学到用过滤类(ActionFilterAttribute)做权限的验证,使用cookie存放查询出的内容,在到cookie查询需要的权限,提高性能,减少提交。虽然项目是升级,看别人的代码,然后使劲改,最恶心的if else多层嵌套写了几千行,代码看着我一脸懵逼,代码可读性非常低。代码应该减少if else嵌套,一样的代码用封装,提高代码的可读性,维护性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值