Jfinal集成Jwt实现token认证

** 1.导入pom依赖

	  <!--JWT依赖包-->
        <jwt.version>3.2.0</jwt.version>
        <jjwt.version>0.6.0</jjwt.version>
        <!--JWTtoken认证-->
        <dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>${jwt.version}</version>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>${jjwt.version}</version>
        </dependency>

**2.导入插件包
因为这个插件是网上扒下来的 也是Jfinal开源作者推荐的一个插件包
在这里插入图片描述
**3.配置插件以及拦截器
在这里插入图片描述
代码如下:

me.add(new JwtTokenPlugin(UserService.me));

UserService是给用户设置账号密码的,目前这个项目没有用到前后台分离,也没有用到将token保存到数据库的操作。
在这里插入图片描述

package com.atuinfo.service;

import com.atuinfo.common.model.User;
import com.atuinfo.exception.ErrorMassageException;
import com.jfinal.kit.Kv;
import top.jwtTokenPlugin.Bean.IJwtAble;
import top.jwtTokenPlugin.service.IJwtUserService;

import java.util.Arrays;

/**
 * FOR : 简单实现
 */
public class UserService implements IJwtUserService {
    public static final UserService me = new UserService();

    private UserService() {
    }

    private static Kv store = Kv.create();

    static {
        store.set("AKMM",
                new User().set_forces(Arrays.asList("登录后台", "管理用户"))
                        .set_roles(Arrays.asList("管理员", "普通用户")).setUserName("AKMM").setPassword("XXXXXXXX")
        ).set("user",
                new User().set_forces(Arrays.asList("前台登录", "发布文章"))
       
JFinal是一款基于Java的轻量级Web开发框架,而Shiro是一个强大且易用的Java安全框架。集成JFinal和Shiro可以为你的应用程序提供更好的安全性和权限控制。 要在JFinal集成Shiro,你需要进行以下步骤: 1. 添加Shiro依赖:在你的项目中添加Shiro的依赖,可以通过Maven或者手动下载jar包的方式引入。 2. 创建Shiro配置类:创建一个继承自JFinalJFinalConfig类,并重写configConstant()和configInterceptor()方法。在configConstant()方法中配置Shiro的相关参数,如设置登录页面、未授权页面等。在configInterceptor()方法中添加Shiro的拦截器,用于实现权限控制。 3. 创建ShiroRealm类:创建一个继承自org.apache.shiro.realm.AuthorizingRealm的类,用于实现用户认证和授权逻辑。在该类中,你需要重写doGetAuthenticationInfo()方法用于用户认证,以及重写doGetAuthorizationInfo()方法用于用户授权。 4. 配置ShiroFilter:在JFinal的configRoute()方法中配置ShiroFilter,用于拦截请求并进行权限验证。你可以通过配置URL的匹配规则和相应的权限要求来实现不同页面的权限控制。 5. 配置登录和注销功能:在JFinal的Controller中添加登录和注销的处理逻辑,包括用户登录验证、生成和保存用户的身份信息等。 6. 配置权限注解:使用Shiro的注解来标记需要进行权限验证的方法或类,以实现细粒度的权限控制。 以上是集成JFinal和Shiro的基本步骤,你可以根据具体需求进行更详细的配置和扩展。希望对你有所帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值