此CRM包括三个方面
客户管理系统:客户的信息 预约 生日提醒
进销存系统:进货,入库,销售
OA管理系统:比如日程安排
day46 第三个视频一开始有个小总结
约定大约配置!!!!!!!!!!!!!!!!!!!!!!得好好看看
ruby的纯面向对象 比如 取绝对值 负数也是一个对象
树形目录用的是jquery 插件
图片都在一个image包里面放着
day50开始讲的是权限管理
粗粒度的权限控制(过滤器实现):
判断用户是否登录。要是没有登录,直接重定向到登录页面
要求用户必须登录才可以访问
细粒度的权限控制
菜单版(有什么权限才让其可以看到什么菜单,没有权限的时候
使版块不可见树形目录里的菜单)
同理,还有操作版。进入一个菜单后是否可以进行某些操作。
没有权限的话 对应的操作按钮是不可见的比如(新建,删除)
这个利用自定义标签来实现
没有权限访问的时候就给出提示
以下是详细笔记:
用户正确登录后保存用户的信息到session中,然后转发到main.jsp
中间需要一个过滤器来控制。当登录的时候要经过过滤器——判断用户信息
是否存放在session中,是的话放行,不是的话重定向到登录页面
注意要在web.xml里面配置过滤器
当然这个过滤器不能什么都拦截,
比如index.jsp不能被拦截 login.jsp不能被拦截,image.jsp(用于显示验证码)不能被拦截
将不拦截的这些页面写到一个配置文件里面 side.properties
主要代码
public class CheckSessionUserFilter implements Filter {
private Properties props;
//保存不被过滤器拦截的路径
private List pathList;
public void init(FilterConfig filterConfig) throws ServletException {
try {
InputStream inStream=CheckSessionUserFilter.class.getClassLoader().getResourceAsStream("side.properties");
props=new Properties();
props.load(inStream);
/*
* 放行的页面
* controller_index=/index.jsp
controller_login=/login.jsp
controller_image=/image.jsp
controller_loginAction=/sys/loginAction.do
*/
pathList=new ArrayList(props.values());
} catch (IOException e) {
e.printStackTrace();
}
}
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
HttpServletRequest res=(HttpServletRequest)request;
HttpServletResponse req=(HttpServletResponse)response;
String path=res.getServletPath();
//如果请求的路径在/index.jsp login.jsp /image.jsp /sys/LoginAction.do
if(pathList!=null&&pathList.contains(path)){
//放行
chain.doFilter(request, response);
return;
}
//获取当前登陆用户
SysUser sysUser=SessionUtils.getSysUserFromSession(res);
if(sysUser!=null){
//放行
chain.doFilter(request, response);
return;
}
//重定向到登陆页面
req.sendRedirect(res.getContextPath());
}
public void destroy() {
}
}
细粒度的权限控制 day50第二个视频
这些是有关于权限的控制
00:28:45 把不同角色所拥有的功能制作成表,即操作表 资源表!
模块名称 操作名称(比如增加,删除,修改) 排序 标题 提示 备注
操作表列出了系统的所有功能.其中模块名称 操作名称作为联合组建确保了唯一性
中间表SysUser表
然后再建立一个表——操作权限表(就是用来进行权限控制的)
权限组编号 功能模块名称 功能模块的操作(比如增加,删除)
其中注意这三者作为联合主键
通过这个表让权限和角色挂钩,角色本身又和用户表挂钩
day50第三个视频
在00:29由系统管理员给每个权限组设置权限