作者存档
201111 月23

JAVA Oauth 认证服务器的搭建

1、软件下载

Oauth服务端: http://code.google.com/p/oauth/  通过SVN,下载源码。

                          或者下载站长整合好的示例源码:http://115.com/file/aqvpzqhz

客户端下载:http://code.google.com/p/oauth-signpost/  oauth-signpost

                         或者下载站长整合好的示例源码:http://115.com/file/bhy1d2ce

2、服务端源码下载后,把相关代码整合在一起(或直接下载站长整合好的代码),修改net.oauth.provider.core.SampleOAuthProvider  类,把从 provider.properties 读取的信息改为从数据库中读取,如APP_KEY、APP_SCERET、描述、回调地址。

3、net.oauth.example.provider.servlets下面的四个类,这里对应着oauth3个请求url,跟一个用于测试的链接,可以根据需求修改,如将调用Oauth的用户信息记录下来。

4、修改web.xml 增加三个请求url

<servlet>
		<servlet-name>request_token</servlet-name>
		<servlet-class>net.oauth.provider.servlets.RequestTokenServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>request_token</servlet-name>
		<url-pattern>/oauth/request_token</url-pattern>
	</servlet-mapping>

	<servlet>
		<servlet-name>access_token</servlet-name>
		<servlet-class>net.oauth.provider.servlets.AccessTokenServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>access_token</servlet-name>
		<url-pattern>/oauth/access_token</url-pattern>
	</servlet-mapping>

	<servlet>
		<servlet-name>authorize</servlet-name>
		<servlet-class>net.oauth.provider.servlets.AuthorizationServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>authorize</servlet-name>
		<url-pattern>/oauth/authorize</url-pattern>
	</servlet-mapping>

5、做个拦截器,只要通过某url访问的都需要进行Oauth认证:

web.xml

<filter>
	   <filter-name>OauthFilter</filter-name>
	   <filter-class>web.school.phone.OauthFilter</filter-class>
	</filter>
	<filter-mapping>
	   <filter-name>OauthFilter</filter-name>
	   <url-pattern>/phone/*</url-pattern>
	</filter-mapping>

 web.school.phone.OauthFilter

	package web.school.phone;
         import java.io.IOException;

	import javax.servlet.Filter;
	import javax.servlet.FilterChain;
	import javax.servlet.FilterConfig;
	import javax.servlet.ServletException;
	import javax.servlet.ServletRequest;
	import javax.servlet.ServletResponse;
	import javax.servlet.http.HttpServletRequest;
	import javax.servlet.http.HttpServletResponse;

	import net.oauth.OAuthAccessor;
	import net.oauth.OAuthMessage;
	import net.oauth.provider.core.SampleOAuthProvider;
	import net.oauth.server.OAuthServlet;

	public class OauthFilter implements Filter {

	  public void destroy() {
	  }

	  public void init(FilterConfig fConfig) throws ServletException {
	  }

	  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
	  throws IOException, ServletException {
	    HttpServletRequest req=(HttpServletRequest)request;
	    HttpServletResponse res=(HttpServletResponse)response;

	    try{
            OAuthMessage requestMessage = OAuthServlet.getMessage(req, null);
            OAuthAccessor accessor = SampleOAuthProvider.getAccessor(requestMessage);
            SampleOAuthProvider.VALIDATOR.validateMessage(requestMessage, accessor);

            System.out.println("[OauthFilter:passed]:"+req.getRequestURI());
            chain.doFilter(request, response);//验证通过则转向

        } catch (Exception e){
        	//验证不通过
            SampleOAuthProvider.handleException(e, req, res, false);
        }

	  }

}

6、执行客户端代码,提示输入验证码时,把控制台打印的URL放到浏览器里打开,输入授权码:

(服务端AuthorizationServlet 里面修改验证不通过要跳转的页面,页面上会打印一些参数)

201111 月19

大学毕业找不到工作

一官员因贪污受贿被判刑,儿子探监时,说自己大学毕业找不到工作。官员说:会有人来帮你的,我在台上时,叫谁上谁上;如今我在监狱,叫谁下谁就得下……

201111 月18

螃蟹的听觉在腿上

为了证明螃蟹的听觉在腿上一个科学家捉了只螃蟹并冲它大吼!螃蟹很快就跑!然后捉回来再冲它吼螃蟹又跑了!最后科学家把螃蟹的腿都切了!又对着螃蟹大吼!螃蟹果然一动不动,实验证明螃蟹的听觉在腿上。

201111 月11

光棍节 what a fucking day

900年前的人比今天的我们还多俩棍(11),也没见得他们狂欢和抢着脱光,与那天的他们相比,今天得我们只是多个蛋(0),还喊疼,多个二(2),还二到底。what a fucking day。 @序列章

201111 月9

手机不要乱放

中午在办公室午睡的同事们注意了,手机不要乱放。办公室里女同事中午外出,没把手机带走。她老公不停地打电话来。午睡的男同事被吵烦了,拿过手机大吼:“我们在睡觉,你烦不烦啊!”电话再也不响了。半小时后,女同事怒气冲冲地回到公司:“刚才是哪个混蛋说跟我睡觉来着?”办公室里寂然无声。

201111 月9

大豹子光棍节

某姐招亲:“今年谁愿意陪姐过20111111特大豹子光棍节,姐明年让他过父亲节” 单位众同僚蠢蠢欲动,唯一哥们岿然不动 试问到:“哥为何如此淡定” 解析道:“从11.11到明年父亲节仅剩7个多月,这爹当的冤啊” 众人梦醒,齐叹道:“这真是一个坑爹的时代啊….”

201111 月7

iphone5外壳

作业本:晚上跟一老板吃饭,他是为山寨手机供应外壳的。整个晚上他都郁郁寡欢,有人问他怎么了,他说曾经辉煌的小工厂破产了。大家又很关心地问是什么原因,他面带哭腔的说:我生产了三百万套iphone5外壳……

201111 月7

聚会

几个人在一起聊天,有个家伙放了个很臭却不响的屁,刚放完就对大家说:哎,什么东西糊了?然后大家都使劲地吸鼻子……这人太坏了!

201111 月5

无撸木骑

我们都爱重口味: 前几天看到的那个“小撸怡情,大撸伤身,强撸灰飞烟灭”,找到下联了:“先撕长裙,后撕短裤,百撕不得骑姐” ,然后横批TMD也出来了 【无撸木骑】 啊 我艹……

201111 月4

3G新生活

某人为了享受3G新生活,换了一个手机号,晚上突发奇想,给同事群发了一条:“亲爱的,我换这个号了,啵一个,以后记得和我聊哟。”接着关机睡觉。第二天上班后,其他同事都脸色憔悴,还有一人有淤青的痕迹……后来那人再也不敢开机,又偷偷换了一个新的3G号。

201111 月3

有人相伴左右是幸,一切顺利诸事如意是福,倖福全來。

给自己名字一个合理诗意的解释。

有人相伴左右是幸,一切顺利诸事如意是福,倖福全來。

201110 月28

租房

某对男女在校外租房。暑假MM去外地实习了,GG还在房里住着。MM实习归来,见房间里脏兮兮的,显然几星期都没打扫过,于是就勤快地来了个大扫除。晚上GG回来了,问:”桌上的灰怎么不见了?上面还记着电话号码呢……”

201110 月18

icloud=india cloud

都觉得Siri神奇,其实背后的故事是Apple在印度的海德拉巴建了一个巨大的呼叫中心,所有用户和Siri的问题都被传到这里,然后三哥三姐们飞快的打字回答。Apple内部把这个叫印度云,简称iCloud..

201110 月9

银行汇款

和媳妇去银行汇款,她先进去填单,我去停车,停好后进银行,看到媳妇的钱在口袋漏出一半,想恶作剧,假装偷掉,吓吓她,刚伸出手,被保安一脚踹出3米远…

20119 月24

鬼故事

一辆大巴在崎岖的山道上行驶着。天渐暗,车上的男子从睡梦中醒来……突然,他发现,车上的游客都不见了,就连司机也消失了,而车却沿着山路缓慢行驶着!男子浑身一颤,大声喊道:“有鬼!有鬼啊!”“有你个头,”突然车窗外传来声音,“车坏了,我们都在下面推,就你一个人睡觉。”

20119 月23

总有一群隐身的朋友

总有一群隐身的朋友如死人一般躺在你的好友列表里,偶尔诈诈尸,时不时还会改改他们的墓志铭。

20119 月23

网游玩家破解蛋白质结构获科学验证认可

在网上玩玩游戏就可以在著名的英国《自然》系列学术刊物上发表论文?这听起来非常不可思议,但《自然·结构和分子生物学》杂志近日发表了这样一篇有网络游戏玩家署名的论文:《蛋白质折叠游戏玩家揭示一种单分子逆转录病毒蛋白酶的晶体结构》。

文中提到的蛋白质折叠游戏名为Foldit,是美国华盛顿大学研究人员开发的一款具有浓厚科学色彩的网络游戏。游戏玩家要做的是,在给定一个目标蛋白质后,在遵守科学规律的前提下,用氨基酸如搭积木一样把目标蛋白质“搭建”出来

玩这个游戏其实不需要太多科学知识,只要遵守预先设定的规则就行。玩家每次游戏成功都可获得积分,提升自己在游戏世界的知名度,碰到难题时还可以在网上和其他玩家交流。(按:看介绍这款游戏其实类似于Folding@home的人工操作版)

此次被破解结构的蛋白质名为M-PMV,是一种与猴类艾滋病病毒有关的蛋白质。科研人员一直没能探明它的具体结构。华盛顿大学研究人员于是把这个蛋白质设为目标,放入Foldit游戏中。没过多久,就有玩家找出了可能的氨基酸组装方式。

华盛顿大学研究人员随之用X射线等对游戏玩家给出的结果进行了验证,发现这个玩出的结果是准确的。于是在有关论文的作者中,出现了Foldit游戏中两个玩家群组的名字。(文/新华网)

20119 月22

节约土地资源

某村开会讨论改革殡葬节约土地资源,村民们各抒己见。
甲说:我建议啊!都不用棺材了,省钱又省地。
乙说:我看竖着埋可以更省地方。
丙磕了磕烟枪,慢悠悠的说:我看啊,竖着来只埋下半截,连墓碑也省了,一看就知道谁死了!
20119 月18

手机又没电了

列车上乘客都低头摆弄着手机。渐渐地有一部分乘客放下手机,满怀惆怅地望向窗外:他们是iPhone用户,他们手机没电了。列车又经过了几站,又有一部分乘客放下手机,满怀惆怅地望向窗外:他们是Android用户,他们第二块电池也用完了.突然打雷车停了,部分乘客举起手中的诺基亚砸开了车窗,他们得救了…

20119 月9

安徽电信:开放五码(5码)查询,方便烧号机入网

办理地址:

http://ah.ct10000.com/shop/FiveCodeAction.do?method=code

第一步:填写个人信息;

第二步:接受邮件验证;

第三步:选择上网套餐。

温馨提示:
1、您需要为手机号办理20元以上流量包,如果原来已办理20元或以上流量包,则需往上升级为30元或50元流量包。如果已有50元流量包,则可直接查询五码,无需办理。
2、办理流量包的方式:您可以直接点击或者通过手机发送短信412220到10001开通20元包150M上网包、发送短信412230到10001开通30元300m上网包 、发送短信412250到10001开通50元包800M上网包。