页面加分页
*若价格不公道,可以让提问者在平台追加赏金哦,平台是您利益的保证
已完成
问题详情:分类: Java
adduser页面 加分页和登录,用户登录进去 只显示自己录入的信息
*若价格不公道,可以让提问者在平台追加赏金哦,平台是您利益的保证。你觉得当前的价格如何呢,奉上您珍贵的一票吧
虚高0人次 适中0人次 偏低0人次
分享海报会更快解决你的问题哦!分享海报
参考答案:
刘师傅
4年前解决
已赚540.0元
问题描述:在原有系统上增加登录、基本鉴权和列表分页查询功能
问题分析:
(1)登录功能:网站的第二门面,找个好看的模板进行修改;
(2)基本鉴权:这里的鉴权分为两部分,一是访问鉴权:对于未登录的用户,限制访问系统功能;二是数据鉴权:除管理员外,不同用户之间数据隔离,不能互访。对于访问鉴权,使用Filter进行实现即可,注意使用白名单排除登录页本身。对于数据鉴权,引入用户角色即可,通过角色区分权限;
(3)分页查询:采用数据库物理分页,利用mysql的limit #offset,#rows特性进行分页查询后,返回数据给前端显示,需要注意的地方是分页参数的传递和计算。
部分实现代码如下:
public class LoginFilter implements Filter{
private String redirectUrl;
private String uncheckedUrls;
@Override
public void init(FilterConfig filterConfig) throws ServletException {
ServletContext servletContext = filterConfig.getServletContext();
//获取XML文件中配置参数
redirectUrl = servletContext.getInitParameter("redirectPage");
System.out.println("redirectPage======" + redirectUrl);
uncheckedUrls = servletContext.getInitParameter("uncheckedUrls");
System.out.println("uncheckedUrls=====" + uncheckedUrls);
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
// 获得在下面代码中要用的request,response,session对象
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
//1.获取请求URL
String servletPath = httpRequest.getServletPath();
//2.检测1中获取的servletPath是否为不需要检测的URl中的一个.若是,放行
List<String> urls = Arrays.asList(uncheckedUrls.split(","));
for (String url : urls) {
if(servletPath.contains(url)) {
filterChain.doFilter(httpRequest, httpResponse);
return;
}
}
//3.从session中获取SessionKey对应值,若值不存在,则重定向到redirectUrl
Object user = httpRequest.getSession().getAttribute(GlobalUtil.SESSION_USER_KEY);
if (user == null) {
httpResponse.sendRedirect(httpRequest.getContextPath() + redirectUrl);
return;
}
//4.若存在,则放行
filterChain.doFilter(httpRequest, httpResponse);
}
@Override
public void destroy() {
}
}
此处可发布评论
评论(0)
暂无评论,快来写一下吧