源码开源,作者不易,如果你喜欢这个框架麻烦你随手点一颗小星星哦!
sa-token是什么?
sa-token是一个JavaWeb轻量级权限认证框架,主要解决项目中登录认证、权限认证、Session会话等一系列由此衍生的权限相关业务。相比于其他安全性框架较容易上手。
- github:github.com/click33/sa-…
- 官网文档:sa-token.dev33.cn/
代码示例
1sa-token的API调用非常简单,有多简单呢?以登录验证为例,你只需要:2//在登录时写入当前会话的账号id3StpUtil.setLoginId(10001);4//然后在任意需要校验登录处调用以下API---如果当前会话未登录,这句代码会抛出`NotLoginException`异常5StpUtil.checkLogin();如果上面的示例能够证明sa-token的简单,那么以下API则可以证明sa-token的强大
1StpUtil.setLoginId(ObjectloginId)2标记当前会话登录的账号id3建议的参数类型:long|int|String,不可以传入复杂类型,如:User、Admin等等45StpUtil.logout()6当前会话注销登录78StpUtil.isLogin()9获取当前会话是否已经登录,返回true=已登录,false=未登录1011StpUtil.checkLogin()12检验当前会话是否已经登录,如果未登录,则抛出异常:NotLoginException13扩展:NotLoginException对象可通过getLoginKey()方法获取具体是哪个StpLogic抛出的异常14扩展:NotLoginException对象可通过getType()方法获取具体的场景值,详细参考章节:未登录场景值1516StpUtil.getLoginId()17获取当前会话登录id,如果未登录,则抛出异常:NotLoginException18类似API还有:19StpUtil.getLoginIdAsString()获取当前会话登录id,并转化为String类型20StpUtil.getLoginIdAsInt()获取当前会话登录id,并转化为int类型21StpUtil.getLoginIdAsLong()获取当前会话登录id,并转化为long类型2223StpUtil.getLoginId(TdefaultValue)24获取当前会话登录id,如果未登录,则返回默认值(defaultValue可以为任意类型)25类似API还有:26StpUtil.getLoginIdDefaultNull()获取当前会话登录id,如果未登录,则返回null2728StpUtil.getLoginIdByToken(StringtokenValue)29获取指定token对应的登录id,如果未登录,则返回null3031StpUtil.getTokenName()32获取当前StpLogic的token名称权限验证查看具体API
1StpUtil.setLoginId(10001);//标记当前会话登录的账号id2StpUtil.getLoginId();//获取当前会话登录的账号id3StpUtil.isLogin();//获取当前会话是否已经登录,返回true或false4StpUtil.logout();//当前会话注销登录5StpUtil.logoutByLoginId(10001);//让账号为10001的会话注销登录(踢人下线)6StpUtil.hasRole("super-admin");//查询当前账号是否含有指定角色标识,返回true或false7StpUtil.hasPermission("user:add");//查询当前账号是否含有指定权限,返回true或false8StpUtil.getSession();//获取当前账号id的Session9StpUtil.getSessionByLoginId(10001);//获取账号id为10001的Session10StpUtil.getTokenValueByLoginId(10001);//获取账号id为10001的token令牌值11StpUtil.setLoginId(10001,"PC");//指定设备标识登录12StpUtil.logoutByLoginId(10001,"PC");//指定设备标识进行强制注销(不同端不受影响)13StpUtil.switchTo(10044);//将当前会话身份临时切换为其它账号框架涵盖功能
与SpringBoot集成具体API
sa-token.dev33.cn/doc/index.h…
示例:
sa-token.dev33.cn/doc/index.h…
写在最后
sa-token.dev33.cn/doc/index.h…
登录验证具体API