zhenfuxu / tacacsserver Goto Github PK
View Code? Open in Web Editor NEWThis project forked from zengcx/tacacsserver
This project forked from zengcx/tacacsserver
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.