很多网站需要权限管理,java 可以采用rbac框架
rbac框架:基于角色的权限管理框架
what想要访问的资源,how链接,who用户,角色,权限
数据库:用户,角色,用户与角色对应关系,权限(urls,对链接的访问权限),角色与权限对应关系
实现其实不难,传用户id获取角色,然后获取权限,判断当前访问的路径是否在权限urls里面
新的知识:比如说每次访问页面判断是否已经登录,或者判断权限够吗,实现方法可以是拦截器或者写一个BaseController,其他控制器继承它,调用就ok。
重点看下拦截器,因为我之前没搞过这个:
定义一个拦截器class
xxInterceptor
implements
HandlerInterceptor
其次配置xml:
<!-- 拦截器的配置, 默认是拦截器所有(与Struts相同),但是也可以配置基于方法的拦截器 -->
<
mvc:interceptors
>
<!-- 默认拦截所有的.action请求 -->
<
bean
class
=
"xxInterceptor"
/>
-->
</
mvc:interceptors
>
或者是过滤器
class xxFilter implements Filter
配置xml:
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="3.0"
- xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
- <filter>
- <filter-name> xxFilter</filter-name>
- <filter-class>xxFilter</filter-class>
- </filter>
- <filter-mapping><!-- 此filter对所有的jsp页面都有过滤效果 -->
- <filter-name>xxFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- </web-app>