2014年5月29日星期四

cas client 单点登录实现登录成功后跳转到登录前请求的页面

最近重构考务通,有一个新需求,考生点击制定的考试链接,或者输入考试链接报名,这时需登录,登陆后要回到之前请求的考试链接,而不是回到报名系统统一的主界面
查看shiro源码发现系统在启动时会加载loginUrl
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
        <property name="securityManager" ref="securityManager"/>
        <property name="loginUrl" value="${loginUrl}" />
。。。。。
loginUrl是配置在properties中的
loginUrl=http://127.0.0.1:8880/uamssocloud/login?service=http://127.0.0.1:8881/kwtong/login

由于在shiro配置文件中有
/** = user

shiro的UserFilter会过滤请求判断是否有Session用户,若没有则重定向到loginUrl,去单点系统登录,而单点登录成功后会重定向回service参数制定的地址

这时LoginController登录成功后,会统一return "redirect:/main"

解决方案
继承UserFilter,重写redirectToLogin方法,将service参数改写,使之变成这样子
http://127.0.0.1:8880/uamssocloud/login?service=http://127.0.0.1:8881/kwtong/login?url=/kcinfo/kclist/081/201304

将shiro配置文件/** = user 改成/** = myUserFilter

再修改LoginController,当存在url参数时,重定向到url制定的地址

大功告成


2013年工作总结

2013年工作总结
忙碌的13年已经过去,这几天看到好多人的签名都在总结13展望14,发现我也从年轻小伙变成了大叔。
个人工作回顾
这一年的主要工作有
1、完善考务系统前后台
上半年经历了两个主要考务开发人员离职的工作交接工作,现在前台报名主要有王兆峰负责开发,后台系统有张威、张亚杰负责开发,共经历了930前的五次迭代和之后的三次迭代。
前台主要涉及身份确认、单点登录登出、证书补办、支付宝支付、子集信息采集、博飞接口改造、二建逻辑改造等。
后台主要涉及上半年三家银行对账到现在的支付宝对账、短信发送、考试规则引用、子集信息维护、博飞接口改造、撤销禁考等等。也一起经历了数据安全风波。
总的来说,我们的考务系统从每天的心惊肉跳变成了比较稳定,从工作流程上也更加规范,我们有了考试先上线流程规范,有了系统更新流程规范,数据库脚本更新流程规范,更好的应用了maven管理方法,以及hadson代码检查。
2、platform公共服务平台完善
platform也涉及到单点登录退出问题,以及邮箱验证开关,登录信息后台验证等。
3、单点登录系统完善
实现了service注册和管理(未上线),借助redis实现了单点登录退出
4、北京公务员系统
在去年北京公务员基础上,重构了报名系统代码和扩充了后台管理功能点,第一个吃了支付宝支付的螃蟹,顺利保障了北京公务员系统报名。
5、中央公务员系统
新开发了中央公务员前后台系统,实现了大数据量导入access数据功能,节约了导入时间和数据验证时间。
6、支付宝缴费及对账
以支付宝支付替换了去年的三家银行支付,考虑到加新不改旧,可以动态切换新老支付,可向其他系统移植。
7、博飞webservice接口改造
重构原有代码耦合太紧,分散调用,一旦有修改涉及面太广,回收调用博飞接口逻辑到一处。
8、委托考试系统
复制了考务系统前后台以及数据库,以适应委托考试
9、人保局老系统维护
涉及引进人才系统、工作居住证系统、事业单位工资系统、专项计划系统的升级改造。
10、协助职称、鉴定系统等解决问题
11、招聘开发人员


存在问题、意见和建议
1、提议考务前台做一次代码重构,使各个步骤更加严谨更有效率。
2、探索实现报名信息后台二次验证
3、探索单点登录系统重复登录问题
4、考务系统有一些修改未同步修改委托系统,是一个隐患
5、我们要有技术储备,有备无患,建议建立奖励制度,鼓励技术人员学习创新
6、独立一拨人开始探索产品化,磨刀不误砍柴工,没刀砍不出好柴
7、如何才能保障上线质量,怎样避免内部测试没问题,上线就出问题,严谨再严谨,周全再周全
8、继续完善工作流程,坚决坚持执行,请项目组长一定执行各项操作流程,不如上线一定要做release,否则以后我们就越来越没信心做全量更新
9、给员工以关怀,关心他们的生活,特别是刚参加工作不久的新人,我觉得现在的新人比几年前更艰难,今年一年单北京的房租就涨了20%,首信的新人工资还是3-4,怎么才能招上人来,怎么才能过了年不跑,留住人。
这也是相辅相成的事,如果我们的人也像外包那帮人似的,开发中给你糊弄上,也不管代码可读性、执行效率、可扩展性,玩事儿走人留下个摊子,那是多么可怕的事。
10、希望我们的团队别都被培养成工作狂。工作为了生活,我们有时候为了工作忘了家,忘了生活;同事之间的交流除了工作还是工作,我们需要改变。
11、领导,别让我整三千字了,再扯我就更跑题了。

简历

刘朝春(男 31岁)
计算机软件 | 软件工程师 | 8| 本科 | 北京
个人信息
手  机:13426476178
电子邮箱:liuspring315@gmail.com
出生日期:1983315
求职状态:如果有更好的机会,我愿意考虑
民  族:汉族
教育背景
河北科技大学
20029- 20066月 信息管理与信息系统 本科 | 石家庄
专业类别:电子信息科学类
求职意向
期望工作性质:全职
期望从事工作职业:软件工程师
期望从事工作城市:北京
期望薪水:税后月薪RMB20000
到岗时间:1个月内

自我评价:
8年工作经验,有政府项目设计开发实战经验,热衷于技术,负责框架搭建,技术难点攻关,带队开发。
工作经验
首都信息发展股份有限公司
所属行业:计算机软件 | 公司性质: | 公司规模:
20073- 至今
工作地点:北京 | 工作性质:全职 | 所在部门| 汇报人: | | 月薪:15000RMB
职位类别:软件工程师
主要负责公司承接各个政府部门的管理系统的需求确认、设计与开发
1、 在首信2007-032012-07期间,参加了如下项目的开发工作:北京市人事局公务员综合信息系统、北京市人事局引进人才综合评价系统、北京市财政局网上审批及监察数据自动上报平台、北京市人事局工作居住系统、北京市人事局人才引进系统等。使用的开发语言为java,使用开源框架strutshibernatedwrJqueryspringgwtgxt、润乾、oracle
2、 在首信2012-03至今,参加了北京市考务系统的建设,该系统包括资格考试、委托考试、职称评审、公务员考试、职业鉴定、公共服务平台。





项目经验摘要
20123月—至今 考务系统建设
使用了springMVChibernatespringJDBCredis、单点登录、银行直连缴费、支付宝对接缴费、动态表单。
整个考务系统开发了30多个应用,统一搭建了项目框架,springMVChibernatespringJDBCredisshiroxfirejquery.validatejquery.formblueprint所有系统采用maven管理,向整个部门推广了maven+svn+hadson,以替代老旧的eclipse项目+vss,我主要参与了其中15个应用开发;其中独自公务服务平台供所有前台系统公用;通过研究开源单点登录系统cas实现了自己的单点;设计开发了动态表单,以适应不同考试采集信息不同的情况,实现了字段名称、类型、长度、校验、字典、级联关系、子集信息的灵活配置


20102月 –20103基于Ext GWT 的决策分析系统
系统采用的GXT提供的MVC模型,底层数据访问是通过调用润乾报表API,将润乾报表运算结果转化为一个List,然后交给GXT在页面展现。
页面功能上,Grid列排序,隐藏显示特定列,树形展开收缩,用open chart封装的统计图表,数据钻取,列标题分组,拖拽形式动态设置列维度、行维度以实现灵活查询,将灵活查询行列维度保存起来供以后随时打开,将结果到处ExcelPDFWord,动态设置查询条件的显示隐藏,动态的进度条提示、融入GIS系统,实现报表到地图,地图到报表。
值得注意的是所有这些功能都是在一个窗口中完成的,实现了菜单、维度定义、报表、统计图功能的融合,不用客户点来点去,一步了然。
20079- 200712月 北京市人事局人才综合计划系统 |

参与了部分功能的详细设计,考虑到用户体验和开发效率,经过测试,决定采用润乾报表中间件开发报表展现、填报、效验,由于润乾报表提供效验功能的局限性,自主设计替换润乾原有效验,利用DWR框架编写了javascript效验,实现了实时提示用户效验信息,并且可以打印效验信息以供核对,由于有些报表比较庞大,提供了临时保存功能,得到了用户的肯定。




2014年5月6日星期二

oracle 锁表

select sess.sid,
    sess.serial#,
    lo.oracle_username,
    lo.os_user_name,
    ao.object_name,
    lo.locked_mode
    from v$locked_object lo,
    dba_objects ao,
    v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;

alter system kill session '126,16688'; --SID,SERIAL#

2014年5月1日星期四

ubuntu安装2

1安装输入法
 sudo apt-get install fcitx fcitx-googlepinyin

2安装额外版权受限程序
sudo apt-get install ubuntu-restricted-extras

3安装guake
sudo apt-get install guake
4在软件中心安装dropbox

5安装wqy字体,奇怪的是为什么14.04没有自带wqy?我明明已经是中文环境
sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei xfonts-wqy