精华内容
下载资源
问答
  • vue-springboot登录

    2019-11-30 21:37:38
    vue-springboot登录 vue项目登录 后台使用jpa作为持久层 springboot的项目
  • 主要介绍了SpringBoot登录验证码实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 简单的springboot 登录注册版本,让你感受springboot和注解的便利性 带博文讲解 https://blog.csdn.net/u012763405/article/details/84028115
  • SpringBoot登录和权限管理权限实现需要的准备一、数据库建库建表用户表权限表用户权限表二、springbootSecurity配置三、用户登录、权限体验来自姚哥的教学 感谢 权限实现 需要的准备 SpringbootSecurity 登录验证 ...

    权限实现

    需要的准备

    SpringbootSecurity 登录验证

    数据表:用户表、权限表、用户权限表

    环境:IDEA、mysql、java1.8、springboot、maven、git

    一、数据库建库建表

    在IDEA中可以进行数据库连接,可以把sql文件(表结构、表数据)放在项目的创建sql文件夹中。

    1. 数据库连接
      IDEA中进行database连接,如果是新的mysql版本,可能需要时区的填写。搜索 timezone ,填写 Aisa/Shanghai 。
    2. 三表建立
      可以用sql文件,直接运行,生成表。也可以自己用Navicate这种第三方软件操作。

    用户表

    id uesr_id name city town phone
    1 u1 七星镇用户 嘉兴 七星镇 18811881818

    权限表

    id ROLE_ID ROLE_Name
    1 r1 管理员
    2 r2 普通用户

    用户权限表

    id uesr_id ROLE_ID
    1 u1 r1
    2 u1 r2

    通过在用户权限表对应,一个用户可以对应多个权限。

    二、springbootSecurity配置

    在pom文件的dependency 中引入,springbootSecurity,这个可以进行权限控制。然后子啊配置文件中,编辑
    ROLE_ADMIN
    ROLE_USER
    ROLE_PHD
    那么这是对权限的一个界定,固定写法。然后就可以用ADMIN去进行分配

    .不需要权限控制,就能访问的url("/user/api/noNeed".url分配方法("/user/api/hello","/user/api/happybirthday".分配权限 (USER, PHD)
    .url分配方法("/user/api/admin".分配权限 (ADMIN)
    

    有不需要权限分配,就能访问的url,可以写上,那么谁不用登陆就能访问。

    三、用户登录、权限体验

    使用IDEA 自带的 restTEST工具进行测试。
    1.
    get方法,不登录账号,也可以访问
    /user/api/noNeed
    2.
    POST方法,登录账号密码,用user的权限用户登录,那么可以访问
    “/user/api/hello”,"/user/api/happybirthday"
    不能访问
    “/user/api/admin”

    来自姚哥的教学 感谢

    展开全文
  • SpringBoot登录注册退出设计 用到redis,md5 登录 判断登录密码 public ResultUtils login(HttpServletRequest request, String username, String password) { if (StringUtil.isEmpty(username) || StringUtil....

    SpringBoot登录注册退出设计

    用到redis,md5

    登录

    判断登录密码

    public ResultUtils login(HttpServletRequest request, String username, String password) {
     if (StringUtil.isEmpty(username) || StringUtil.isEmpty(password)) {
                return ResultUtils.error("用户名或密码为空");
            }
            //根据登录的账号密码依靠反射判断是否有一条数据,
            User user = FindData(User.class, Userusername, username);
           
            if (null == user) {
                return ResultUtils.error("用户名或密码错误");
            }
            if (!user.getPassword().equals(Md5Utils.encode(password))) {
                return ResultUtils.error("用户名或密码错误");
            }
            Map<String, Object> resMap = new HashMap<>(1);
            //根据登录id生成一个token
            String token = TokenUtils.createToken(user.getId(), request);
            resMap.put("token", token);
            return ResultUtils.success(resMap);
       }
    

    注册

    public ResultUtils register(String username, String password) {
            if (StringUtil.isEmpty(username) || StringUtil.isEmpty(password)) {
                return ResultUtils.error("用户名或密码为空");
            }
            //中英文开头、数字下划线
            //工具类判断
            if (ValidateUtils.notChinaEnglishNumberUnderline(username)) {
                return ResultUtils.error("用户名不能包含特殊字符");
            }
            if (ValidateUtils.notPassword(password)) {
                return ResultUtils.error("密码为6-20位大小写和数字");
            }
            //同样依靠反射同登录
            User user = FindData(User.class, Userusername, username);
            if (null != user) {
                return ResultUtils.error("用户名已存在");
            }
            String md5Pwd = Md5Utils.encode(password);
            User newUser = new User()
                    .setUsername(username)
                    .setPassword(md5Pwd)
                    .setCreateTime(DateUtils.getNowDateTime());
            baseInsert(newUser);
            return ResultUtils.success();
        }
    

    退出

      public ResultUtils logout(HttpServletRequest request) {
            Long userId = WebTokenUtils.getUserIdByHttpServletRequest(request);
            //需要用到StringRedisTemplate delete方法
            //stringRedisTemplate.delete("test");根据key删除缓存
            TokenUtils.deleteToken(userId);
            return ResultUtils.success();
        }
    
    展开全文
  • SpringBoot登录用户权限拦截器

    千次阅读 多人点赞 2021-03-20 11:52:44
    //添加对用户未登录的拦截器,并添加排除项 //error路径,excludePathPatterns排除访问的路径在项目中不存在的时候, //springboot会将路径变成 /error, 导致无法进行排除。 registry.addInterceptor...

    1. 创建自定义拦截器类并实现 HandlerInterceptor 接口

    package com.xgf.online_mall.interceptor;
    
    import com.xgf.online_mall.system.domain.User;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.stereotype.Component;
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.nio.file.Files;
    import java.nio.file.Path;
    import java.nio.file.Paths;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.logging.SimpleFormatter;
    
    @Slf4j
    @Component
    public class UserLoginAuthInterceptor implements HandlerInterceptor {
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            log.info(" ======== UserAuthInterceptor preHandle 登录权限拦截器拦截");
            User user = (User) request.getSession().getAttribute("loginUser");
            //未登录才判断,登录了直接放行
            if(user == null){
                //获取访问路径
                String address = request.getRequestURI();
                log.info("======== 拦截,访问路径 address : {}", address);
                response.sendRedirect(request.getContextPath() + "/login.html");
                return false;
    
                /*String address = request.getRequestURI();
                log.info("======== 拦截,访问路径 address : {}", address);
                //不是登录或者注册页面,就直接跳转登录界面
                if(!address.contains("login") && !address.contains("register")){
                    //强制到登录页面
                    response.sendRedirect(request.getContextPath() + "/login.html");
                    //设置为false,不访问controller
                    return false;
                }*/
            }
            //其它模块或者已经登录,就直接放行
    //        log.info("======== 已登录 user = {}", user);
            return true;
        }
    
    
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
            log.info(" ===== UserAuthInterceptor postHandle");
        }
    
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
            log.info("==== UserAuthInterceptor afterCompletion");
    
            //记录日志  向文件里面写日志
            //获取服务器记录日志log文件所存放的目录位置 -- tomcat下的真实路径+log目录
            String logdir = request.getServletContext().getRealPath("log");
            //路径不存在就创建
            Path logdirPath = Paths.get(logdir);
            if(Files.notExists(logdirPath)){
                Files.createDirectories(logdirPath);
            }
            //目录存在就将数据[字符]写入 //存放日志的路径+文件名
            Path logfile = Paths.get(logdir,"userlog.log");
            //logfile.toFile() paths转换为File类型 true以追加的方式写入
            BufferedWriter writer = new BufferedWriter(new FileWriter(logfile.toFile(),true));
    
            //获取登录用户信息
            User user = (User)request.getSession().getAttribute("loginUser");
            //记录user信息,存入日志
            writer.write(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + " >> " + user +"\r\n");
            writer.flush();
            writer.close();
        }
    
    }
    

    2. 创建WebMvcConfigurer接口实现类,注册并生效自定义的拦截器

    import com.xgf.online_mall.constant.PathConstantParam;
    import com.xgf.online_mall.interceptor.UserLoginAuthInterceptor;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    import java.util.ArrayList;
    import java.util.List;
    
    @Configuration
    @Slf4j
    public class LoginConfig implements WebMvcConfigurer {
        @Autowired
        private UserLoginAuthInterceptor userLoginAuthInterceptor;
    
        /**
         * addInterceptors方法设置拦截路径
         *      addPathPatterns:需要拦截的访问路径
         *      excludePathPatterns:不需要拦截的路径,
         *      String数组类型可以写多个用","分割
         * @param registry
         */
        @Override
        public void addInterceptors(InterceptorRegistry registry){
            log.info(" ======== LoginConfig.addInterceptors");
            //添加对用户未登录的拦截器,并添加排除项
            //error路径,excludePathPatterns排除访问的路径在项目中不存在的时候,
            //springboot会将路径变成 /error, 导致无法进行排除。
            registry.addInterceptor(userLoginAuthInterceptor)
                    .addPathPatterns("/**")
                    .excludePathPatterns("/js/**", "/css/**", "/img/**", "/plugins/**")
                    .excludePathPatterns("/login.html", "/register.html", "/system/user/login", "/system/user/login", "/index")
                    .excludePathPatterns("/error");
        }
    }
    
    展开全文
  • springboot 登录示例 判断权限 附源代码基于SpringBoot登录注册开发环境效果展示获取地址 基于SpringBoot登录注册 简单实现登录注册功能,相比于master分支的程序,解决的注册用户名为空的问题。 开发环境 IDEA...

    springboot 登录示例 判断权限 附源代码

    基于SpringBoot的登录注册

    简单实现登录注册功能,相比于master分支的程序,解决的注册用户名为空的问题。

    开发环境

    1. IDEA_2019.2.3
    2. MySql_8.0.17
    3. Java8
    4. Maven3
    5. SQL

    下面展示一些 数据库代码

    -- 创建数据库
    CREATE DATABASE IF NOT EXISTS example CHARACTER SET utf8 ;
    
    USE example;
    
    CREATE TABLE USER(
        id INT PRIMARY KEY AUTO_INCREMENT,
        username VARCHAR(32) UNIQUE NOT NULL,
        password VARCHAR(32) NOT NULL
    );
    -- 添加数据
    INSERT INTO USER VALUES
    (1,"admin","111"),
    (2,"manager","222"),
    (3,"normal","333");
    
    SELECT * FROM user;
    

    效果展示

    在这里插入图片描述

    在这里插入图片描述

    获取地址

    gitee仓库获取

    展开全文
  • 基于springboot登录接口开发的项目 对方要调用我写的接口 进行数据库查询登录并返回状态 返回的状态 {"code":"1","message":"","data":{}}
  • springboot 框架下,用java语言实现注册登录修改信息的功能,
  • springBoot登录,以及遇到的那些坑

    千次阅读 2018-08-06 01:36:23
    springBoot登录,本次没有连数据库,主要用于练习。大致分为几个步骤:1.写登录方法,2.写拦截器,3.页面取值渲染。 一.登录方法的编写 在写登录时候,由于在初次写的时候return里面多加了个空格,导致于页面找...
  • Springboot登录会话过期,重定向到登录界面

    千次阅读 多人点赞 2019-12-15 19:37:44
    Springboot实现登录过期,重定向到登录页面 集成spring session 很多时候我们网站都会需要登录和验证. 试想: 如果我登录了网站后, 有事离开了电脑60分钟; 在这段时间内, 如果有人使用我的电脑, 那么我的账号是十分...
  • 我写了个登录模块,但是后台一直报错,有大佬解答一下吗 [img=https://img-bbs.csdn.net/upload/202012/13/1607838303_779643.png][/img]
  • 管理员在谷歌浏览器上用用户名和密码来登录后来管理系统,进入到后台页面(website.html),这个时候如果把main.html页面的...登录拦截器为了防止这样的情况发生而产生,两个步骤: HandlerInterceptor和继承类Co...
  • SpringBoot登录加入验证码

    千次阅读 2020-06-26 11:08:15
    登录样式是不是很好看 1.导入依赖 <!-- 验证码 --> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</...
  • SpringBoot登录验证码实现

    千次阅读 2019-11-04 14:39:12
    今天记录一下验证码的实现,希望能够帮助到大家! 首先我们看一下实现的效果: 此验证码的实现没有用到太多的插件,话不多说直接上代码,大家拿过去就可以用。 1.验证码类 ...public class VerifyC...
  • springboot登录状态判断

    千次阅读 2019-06-19 09:38:16
    https://www.cnblogs.com/NeverCtrl-C/p/9630689.html
  • springboot 可以使用springsecurity 作为安全框架,我们可以使用springsecurity 实现安全登录。 springsecurity 是使用一系列的过滤器来实现安全的。 实现用户登录使用的是: ...
  • SpringBoot登录拦截配置(实测可用)

    千次阅读 2020-07-20 17:46:53
    Springboot登录拦截示例
  • vue+springboot 登录注册功能

    千次阅读 2020-06-01 22:25:49
    } </style> 7、新建login.vue组件 <template> <div> <body id="poster"> <el-form class="login-container" label-position="left" label-width="0px"> 系统登录</h3> <el-form-item> 账号">...
  • 在通常项目里面,我们会涉及到一个登录功能实现,但是其中会有一个问题,你不用登录也可以实现在url输入栏上进行页面跳转,这个时候需要对进行session和拦截器的设置。 第一步,在Controller里面增加一个...
  • springboot登录成功跳转报错/favicon.ico

    千次阅读 2019-05-23 20:20:33
    我的环境集成:springboot shiro thymelef: 登录成功,但是却跳转错误页面如下: 经过反复思考和实验:需要对shiro进行配置,将图标配置为匿名访问: filterChainDefinitionMap.put("/favicon.ico","anon"); ...
  • 写个登录拦截器类,实现HandlerInterceptor接口,并实现其方法。 package com.jdkj.charge.intecepter; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet....
  • springboot登录拦截器(简单实用)

    千次阅读 2018-04-09 21:09:55
    项目使用的是idea开发工具,thymeleaf+springboot1.56(2.0版本也可以)+mybatis.现在需要写一个拦截器,网上有很多,但是对于我这种小白有些地方看的不太明白,今天我来写的详细一些,废话不多说开始(这里拦截器...
  • 在带有SpringSecurity权限验证功能的Springboot项目,启动后打开swagger页面需要登录账号与密码 在开发阶段可以关闭权限验证,临时禁用SpringSecurity,可以通过下面两种方法: 1.在启动类上配置排除...
  • SpringBoot 简单登录功能 拦截器实现。 在实际开发中,我们经常会遇到某些页面需要登录才能查看的情况。下面使用拦截器实现该功能,在用户没有登录的情况下,将网站的所有访问都指向登录页面。 Springboot 登录
  • 对于管理系统或其他需要用户登录的系统,登录验证都是必不可少的环节,在SpringBoot开发的项目中,通过实现拦截器来实现用户登录拦截并验证。 1、SpringBoot实现登录拦截的原理 2、代码实现及示例 3、 效果验证 ...
  • SpringBootSpringBoot项目简单登录实现
  • 在实际开发中,我们经常会遇到某些页面需要登录才能查看的情况。下面使用拦截器实现该功能,在用户没有登录的情况下,将网站的所有访问都指向登录页面。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 68,901
精华内容 27,560
关键字:

springboot登录

spring 订阅