新浪有多大
问:新浪有多大?答:微博事业部的美女拒绝了无线事业部帅哥的追求,原因是她不喜欢异地恋。
本人女,今天去买菜。看到一大妈在卖黄瓜就走过去,问完价后大妈幽幽的说了一句你是买来吃还是用,你要是用的我就拿粗的给你。当时我就震精了,什么时候卖菜的大妈都变得这么开放,这么色。我装作一脸纯洁的问她怎么用啊?事实证明是我太色了,她说的用就是把黄瓜片贴在脸上。
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 里面修改验证不通过要跳转的页面,页面上会打印一些参数)
为了证明螃蟹的听觉在腿上一个科学家捉了只螃蟹并冲它大吼!螃蟹很快就跑!然后捉回来再冲它吼螃蟹又跑了!最后科学家把螃蟹的腿都切了!又对着螃蟹大吼!螃蟹果然一动不动,实验证明螃蟹的听觉在腿上。
900年前的人比今天的我们还多俩棍(11),也没见得他们狂欢和抢着脱光,与那天的他们相比,今天得我们只是多个蛋(0),还喊疼,多个二(2),还二到底。what a fucking day。 @序列章
中午在办公室午睡的同事们注意了,手机不要乱放。办公室里女同事中午外出,没把手机带走。她老公不停地打电话来。午睡的男同事被吵烦了,拿过手机大吼:“我们在睡觉,你烦不烦啊!”电话再也不响了。半小时后,女同事怒气冲冲地回到公司:“刚才是哪个混蛋说跟我睡觉来着?”办公室里寂然无声。
某姐招亲:“今年谁愿意陪姐过20111111特大豹子光棍节,姐明年让他过父亲节” 单位众同僚蠢蠢欲动,唯一哥们岿然不动 试问到:“哥为何如此淡定” 解析道:“从11.11到明年父亲节仅剩7个多月,这爹当的冤啊” 众人梦醒,齐叹道:“这真是一个坑爹的时代啊….”
作业本:晚上跟一老板吃饭,他是为山寨手机供应外壳的。整个晚上他都郁郁寡欢,有人问他怎么了,他说曾经辉煌的小工厂破产了。大家又很关心地问是什么原因,他面带哭腔的说:我生产了三百万套iphone5外壳……
我们都爱重口味: 前几天看到的那个“小撸怡情,大撸伤身,强撸灰飞烟灭”,找到下联了:“先撕长裙,后撕短裤,百撕不得骑姐” ,然后横批TMD也出来了 【无撸木骑】 啊 我艹……
某人为了享受3G新生活,换了一个手机号,晚上突发奇想,给同事群发了一条:“亲爱的,我换这个号了,啵一个,以后记得和我聊哟。”接着关机睡觉。第二天上班后,其他同事都脸色憔悴,还有一人有淤青的痕迹……后来那人再也不敢开机,又偷偷换了一个新的3G号。