申利民
骑士
骑士
  • UID582
  • 粉丝0
  • 关注0
  • 发帖数11
阅读:12375回复:0

免登录访问,API精细化权限的实现

楼主#
更多 发布于:2021-04-06 08:33
在日常开发中,严格要求访问的权限,但有一些api接口需要免登录访问。可以通过复制访问的url的地址放到拦截器位置进行过滤,但实际这样效率低不好维护api混乱
所以实现一下的小工具,进行api准确的免登录访问。


1、准备jar包
链接:https://pan.baidu.com/s/10jT6npdqDDvBc9kR9Cc67w
提取码:1234


2、启动器
最笨的方法,我放在*StartupListener下,随系统的启动而启动。
@Override
 public void init(ServletContext context) {
        
PassSSO.start();// 免filter的注解

}

     
3、方法上添加注解  @PassFilterSSO


@POST
@Path("child.do")
@Produces(MediaType.APPLICATION_JSON)

@PassFilterSSO
@ApiOperation(notes = "查询子类区划信息")
@ApiParam(name = "area_code", note = "区划code", value = "1000000111")
public ResponseData queryAsonInfo() {

 Map<String, Object> parMap = getParameters(request);
  DBSession session = DataBaseUtil.getHibernateSession(DATA_CENTER);
   try {
          return QUERY(session, parMap, "AreaCodeInfo.childByParentCode");
  } catch (Exception e) {
         e.printStackTrace();
  } finally {
        closeObject(session);
 }
       return API_FALSE("查詢异常");

}


4、拦截器处拦截
boolean flag =  PassCheck.isPass(request);


。。。。。。。。。。。。。。。。。。。。完。。。。。。。。。。。。。。。。。。。。
[申利民于2021-10-12 08:18编辑了帖子]

最新喜欢:

何圆何圆
游客

返回顶部