GithubHelp home page GithubHelp logo

tacacsserver's Introduction

Tacacs服务端 2020-1-15启动

现状:
---现有tacacs+后端加入了freeraidus等组件,每一个环节都会影响着tacacs+的性能
---现有的tacacs+采用的是多进程的方案(传统的apache方案),虽然在linux上创建一个进程的代价是很小的,但是仍旧不可忽略,对于成千上万的tcp连接请求,另外进程之间数据交付较为麻烦。增加了程序的复杂度
---java nio 基于Linux epoll ,epoll支持一个进程打开的socket描述符(fd)不受到进程的限制(仅仅受到系统本身的限制)





预留问题....
分网段多共享密钥?
日志外发?
授权的权限匹配度?



====db===
 select v.*,e.permission_id,e.ace_order,p.id,p.name,p.type from  (SELECT v1.acl_id,
    v1.usertype,
    v1.usergroupid,
    v1.usergroupname,
    v1.userid,
    v1.username,
    v2.restype,
    v2.resgroupid,
    v2.resgroupname,
    v2.clientid,
    v2.clientname
   FROM ( SELECT t0.acl_id,
            'user'::text AS usertype,
            ''::character varying AS usergroupid,
            ''::character varying AS usergroupname,
            m.id AS userid,
            m.name AS username
           FROM (t_aaa_acl_object_identity t0
            JOIN t_acc_master m ON (((t0.object_id_identity)::text = (m.id)::text)and  m.status='normal'))
          WHERE (t0.object_id_class = 1)
        UNION
         SELECT t0.acl_id,
            'usergroup'::text AS usertype,
            g1.id AS usergroupid,
            g1.name AS usergroupname,
            m.id AS userid,
            m.name AS username
           FROM (((t_aaa_acl_object_identity t0
             JOIN t_acc_master_group g1 ON (((t0.object_id_identity)::text = (g1.id)::text)))
             JOIN t_auth_r_mastergroup_master ma1 ON (((ma1.mastergroupid)::text = (g1.id)::text)))
             JOIN t_acc_master m ON (((ma1.masterid)::text = (m.id)::text)and  m.status='normal'))
          WHERE (t0.object_id_class = 2)) v1,
    ( SELECT t0.acl_id,
            'res'::text AS restype,
            ''::character varying AS resgroupid,
            ''::character varying AS resgroupname,
            r.id AS clientid,
            r.name AS clientname
           FROM (t_aaa_acl_object_identity t0
            JOIN t_auth_res r ON (((t0.object_id_identity)::text = (r.id)::text)and r.status='normal'))
          WHERE (t0.object_id_class = 3)
        UNION
         SELECT t0.acl_id,
            'resgroup'::text AS restype,
            g2.id AS resgroupid,
            g2.name AS resgroupname,
            r.id AS clientid,
            r.name AS clientname
           FROM (((t_aaa_acl_object_identity t0
             JOIN t_auth_res_group g2 ON (((t0.object_id_identity)::text = (g2.id)::text)))
             JOIN t_auth_r_resgroup_res ma2 ON (((g2.id)::text = (ma2.resgroupid)::text)))
             JOIN t_auth_res r ON (((ma2.resid)::text = (r.id)::text)and r.status='normal'))
          WHERE (t0.object_id_class = 4)) v2
  WHERE ((v1.acl_id)::text = (v2.acl_id)::text)
  ORDER BY v1.acl_id) v,t_aaa_acl_entry e,t_aaa_permission_group p where e.id =v.acl_id  and p.id=e.permission_id and p.type='1' and p.status='on' order by ace_order desc

tacacsserver's People

Contributors

zengcx avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.