# MVC **Repository Path**: cgjim/mvc ## Basic Information - **Project Name**: MVC - **Description**: 自定义MVC框架 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-02-07 - **Last Updated**: 2021-02-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MVC 一、编程题 手写MVC框架基础上增加如下功能 1)定义注解@Security(有value属性,接收String数组),该注解用于添加在Controller类或者Handler方法上,表明哪些用户拥有访问该Handler方法的权限(注解配置用户名) 2)访问Handler时,用户名直接以参数名username紧跟在请求的url后面即可,比如http://localhost:8080/demo/handle01?username=zhangsan 3)程序要进行验证,有访问权限则放行,没有访问权限在页面上输出 注意:自己造几个用户以及url,上交作业时,文档提供哪个用户有哪个url的访问权限 解题思路: 1. 参考手写MVC框架的@LagouController等注解编写@Security 2. 解析@LagouSecurity注解 3. Handler(pojo)中加入一个可以储存该Handler可以访问的用户一览(HashSet) 4. 在LgDispatcherServlet增加一个securityFilter(HttpServletRequest req,Handler handler)方法, 用于在通过getHandler()获取handler值前过滤一下权限:如果用户名在Hander的用户的HashSet中则认为有访问权限 启动后访问地址 - controller上的@Security权限 http://localhost:8080/demo/handle01?username=admin - 方法上的@Security权限 http://localhost:8080/demo/handle01?username=lisi