面试题 简单基于角色控制的权限管理系统

这是前几天的一道面试题 ,要求4~8个小时写出基本模型和操作,其他一概可以不考虑,当然,考虑更好~

于是乎,俺起早贪黑写了7个半小时左右,共计1450行,29k字节~ 又花了2个多小时写了个简单的说明。

基本实现思想抄袭MySQL的权限表,并由此猜想完成其他部分:对象(模块)和用户表的基本结构。

程序说明:http://rodin.wecd.cn/demo/priv/readme.htm

程序演示:http://rodin.wecd.cn/demo/priv/

代码打包:http://rodin.wecd.cn/code/priv.zip

通过了面试,最终没有去~~~二面时告诉我工资转正后2000起~~当时ft~~

难道ASP程序就是后娘养的??!!!

程序说明

数据库结构
数据库结构
    数据库采用Access 2000 。
    所有的1对多的关系均为级联更新和级联删除,类似于MSSQL的外键。故省略程序中关于数据完整性的判断。
    各个列表页为简化程序,未编写分页功能。
    因为当时编写较为仓促,故未对错误描述进行规范化。

简单使用

  • 模块管理

    添加模块或者对模块进行一些简单编辑。系统内置一个 (*) 模块,以代表全部模块。

  • 角色管理

    添加角色或者对角色进行一些简单编辑。系统内置 ROOT_USER 角色,即为系统根管理员组,拥有对 * 模块的所有权限,不可更改和删除。

  • 用户管理

    添加用户或者对用户进行一些简单属性编辑和所属用户组的选择。系统内置 Root 用户,即为系统默认根管理员,默认属于 ROOT_USER 组,不可更改和删除。

  • 权限管理

    设置角色对模块的对应关系。系统内置 ROOT_USER 用户组对 * 模块拥有最高权限,该权限项不可更改和删除。

外传:

 

其实几个月前写过一个权限控制系统,当时用了 1个月时间去构思和写,又用了1个月去调试和修改,比较欣慰的是几乎完成了一整个API级别的程序,函数库func.asp中关于此段程序的函数有1800行~~

不过写到后来越写越郁闷,在进行权限判断的时候还算爽,碰到权限管理,简直是头疼,差点想要推倒重来。因此认识到了一个好的项目规划的重要性……

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
关于权限系统控制的前端面试题,通常会涉及以下几个方面: 1. 前端权限控制的实现方式有哪些? 2. 前端如何防止未授权用户访问受限页面? 3. 前端如何实现动态路由和菜单权限控制? 4. 前端如何处理后端返回的权限信息并进行相应的展示和控制? 5. 前端如何实现登录拦截和响应拦截? 以下是一个简单的回答供参考: 1. 前端权限控制的实现方式有RBAC(基于角色的访问控制)、ABAC(基于属性的访问控制)和ACL(访问控制列表)等。其中,RBAC是最常用的一种方式,通过将用户分配到不同的角色,再将角色授权给不同的资源,实现对用户访问权限控制。 2. 前端可以通过路由守卫的方式,对需要授权才能访问的页面进行拦截,判断用户是否已登录或是否具有相应的权限,如果未登录或权限不足,则跳转到登录页面或提示无权限访问。 3. 前端可以通过动态路由和菜单权限控制,实现根据用户角色动态生成路由和菜单,只展示用户有权限访问的页面和菜单项。可以通过在路由配置中添加meta属性,存储相应的权限信息,再在路由守卫中进行判断和控制。 4. 前端可以通过拦截后端返回的权限信息,将其存储到本地或全局状态中,再根据权限信息进行相应的展示和控制。例如,可以通过v-if指令控制页面元素的显示和隐藏,或通过自定义指令控制页面元素的禁用和启用。 5. 前端可以通过登录拦截和响应拦截,实现对用户登录状态和请求响应的控制。登录拦截可以通过路由守卫实现,判断用户是否已登录,如果未登录则跳转到登录页面;响应拦截可以通过axios拦截器实现,对请求响应进行拦截和处理,例如添加请求头、统一处理错误信息等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值