??xml version="1.0" encoding="utf-8" standalone="yes"?>久久亚洲伊人中字综合精品,亚洲另类春色国产精品,亚洲国产一区二区视频网站http://www.tkk7.com/haha1903/archive/2014/05/10/413499.html哈哈的日?/dc:creator>哈哈的日?/author>Sat, 10 May 2014 13:21:00 GMThttp://www.tkk7.com/haha1903/archive/2014/05/10/413499.htmlhttp://www.tkk7.com/haha1903/comments/413499.htmlhttp://www.tkk7.com/haha1903/archive/2014/05/10/413499.html#Feedback0http://www.tkk7.com/haha1903/comments/commentRss/413499.htmlhttp://www.tkk7.com/haha1903/services/trackbacks/413499.html
二进底Q?span style="background-color: #e8e8e8; color: #210f1b; font-family: 'Hiragino Sans GB W3', 'Hiragino Sans GB', Arial, Helvetica, simsun, u5b8bu4f53; font-size: 16px; line-height: 28px; text-indent: 32px;">龙宫那边新多Z个v螺,q去是龙宫密道Q里面有DOMOl员杨志豪,把他弄走Q就在原地来回跑Q会定期出现一大鱼一大虾Q殴之,每次法宝?0炏V我在这里练蓝格怪衣Q这个每用一ơ也?炏V?/span>


]]>
天之?—?如何LW鬼技能,W鬼技能变成“无?/title><link>http://www.tkk7.com/haha1903/archive/2014/05/05/413292.html</link><dc:creator>哈哈的日?/dc:creator><author>哈哈的日?/author><pubDate>Mon, 05 May 2014 13:43:00 GMT</pubDate><guid>http://www.tkk7.com/haha1903/archive/2014/05/05/413292.html</guid><wfw:comment>http://www.tkk7.com/haha1903/comments/413292.html</wfw:comment><comments>http://www.tkk7.com/haha1903/archive/2014/05/05/413292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/haha1903/comments/commentRss/413292.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/haha1903/services/trackbacks/413292.html</trackback:ping><description><![CDATA[{到W鬼很饿Q能?个东西的时候)Q找C个相同的喂食物,比如2个狮子精【有一?#8220;狮子?#8221;技能】,设此时的W鬼有一个技能是“强音?#8221;Q点?#8220;狮子?#8221;两次Q符鬼的那个技能就变成?#8220;?#8221; Q@import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); <div><br /> </div> <div>Z成功Q保存好Q多来几ơ!</div><img src ="http://www.tkk7.com/haha1903/aggbug/413292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/haha1903/" target="_blank">哈哈的日?/a> 2014-05-05 21:43 <a href="http://www.tkk7.com/haha1903/archive/2014/05/05/413292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>天之?—?捡蓝格怪衣Q龙颿)如何得到http://www.tkk7.com/haha1903/archive/2014/05/05/413291.html哈哈的日?/dc:creator>哈哈的日?/author>Mon, 05 May 2014 13:34:00 GMThttp://www.tkk7.com/haha1903/archive/2014/05/05/413291.htmlhttp://www.tkk7.com/haha1903/comments/413291.htmlhttp://www.tkk7.com/haha1903/archive/2014/05/05/413291.html#Feedback0http://www.tkk7.com/haha1903/comments/commentRss/413291.htmlhttp://www.tkk7.com/haha1903/services/trackbacks/413291.html月河村的客栈Q一直向叻IC能再叻I向下一步,然后再点宝物可以了?/span>

]]>
尔集团CEOQ张瑞敏——演讲语录!Q{Q?/title><link>http://www.tkk7.com/haha1903/archive/2013/11/20/406581.html</link><dc:creator>哈哈的日?/dc:creator><author>哈哈的日?/author><pubDate>Wed, 20 Nov 2013 08:17:00 GMT</pubDate><guid>http://www.tkk7.com/haha1903/archive/2013/11/20/406581.html</guid><wfw:comment>http://www.tkk7.com/haha1903/comments/406581.html</wfw:comment><comments>http://www.tkk7.com/haha1903/archive/2013/11/20/406581.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/haha1903/comments/commentRss/406581.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/haha1903/services/trackbacks/406581.html</trackback:ping><description><![CDATA[人成熟与不成熟跟q龄没有关系。h成熟不成熟,是你能不能站在Ҏ的角度去看待事物Q就是能不能把我的世界变成你的世界。这个社会有很多的成qhQ还没有qq稚的行为。一点小事情p别h争来争去?br /> <div>      Z成熟的第一个特征:是立即要回报?/div> <div>      他不懂得只有春天播种Q秋天才会收莗很多h在做M事情的时候,刚刚付出一点点Q马上就要得到回报。(学钢_学英语等{,刚开始就觉得难,发现不行Q立卛_要放弃。)很多人做生意Q开始没有什么成l,想着要放弃,有的Z个月攑ּQ有的h三个月放弃,有的人半q放弃,有的Zq放弃,我不明白ZZ么轻易放弃,但是我知道,攑ּ是一U习惯,一U典型失败者的习惯。所以说你要有眼光,要看得更q一些,眼光是用来看未来的!</div> <div>      对在生活中有攑ּ习惯的hQ有一句话一定要送给你:Q成功者永不放弃,攑ּ者永不成功"。那Z么很多的人做事容易放弃呢Q美国著名成功学大师拿破仑希说q:</div> <div>Ih有两个非常典型的心态:</div> <div>1、永q对Z_Q不Q;</div> <div>2、LQ一夜暴富"?/div> <div>      今天你把什么机会都攑ֈ他的面前Q他都会_不"。就是今天你开饭店很成功,你把你开饭店的成功经验,发自内心的告诉你的亲朋好友,让他们也d饭店Q你能保证他们每个h都会开饭店吗?是不是照hZqӀ?/div> <div>      所以这是穷Z个非常典型的心态,他会_Q你行,我可不行Q"。一夜暴富的表现在于Q你跟他说Q何的生意Q他的第一个问题就是"挣不挣钱Q,你说Q挣钱"Q他马上问W二个问题"Ҏ不容易"Q你_ҎQ,q时他跟着问W三个问题"快不快"Q你_快"Q这时他pQ好Q我做!Q呵呵,你看Q他p么的q稚Q?/div> <div>      大家想一惻I在这个世界上有没有一U:Q又挣钱Q又ҎQ又快的Q,没有的,即有也轮不到我们啊Q所以说在生zMQ我们一定要懂得付出。那Z么你要付出呢Q因Z是ؓ了追求你的梦惌付出的Qh是Z希望和梦x着的,如果一个h没有梦想Q没有追求的话,那一辈子也就没有什么意义了Q?/div> <div>      在生zM你想获得什么,你就得先付出什么。你惌得时_你就得先付出旉Q你惌得金钱,你得先付出金钱。你惛_到爱好,你得先牺牲爱好。你惛_家h有更多的旉在一P你先得和家h在一赗?/div> <div>但是Q有一Ҏ明确的,你在q个目中的付出Q将会得到加倍的回报。就象一_种子,你把它种下去以后Q然后浇_施肥Q锄草,杀虫。最后你收获的是不是几十倍,上百倍的回报?/div> <div>      在生zMQ你一定要懂得付出Q你不要那么急功q利Q马上想得到回报Q天下没有白吃的午餐Q你轻轻松松是不可能成功的?/div> <div>一定要懂得先付出!</div> <div>Z成熟的第二个特征Q就是不自律?/div> <div>不自律的主要表现在哪里呢Q?/div> <div>一、不愿改变自己:</div> <div>      你要改变自己的思考方式和行ؓ模式。你要改变你的坏习惯。其实,ZZ间能力是没有多大区别Q区别在于思考方式的不同。一件事情的发生Q你去问成功者和p|者,他们的回{是不一LQ甚x相违背的?/div> <div>      我们今天的不成功是因为我们的思考方式不成功。一个好的公式是Q当你种植一个思考的U子Q你׃有行动的收获Q当你把行动U植下去Q你会有习惯的收P当你再把习惯U植下去Q你׃有个性的收获Q当你再把个性种植下去,׃军_你的命运?/div> <div>      但是如果你种植的是一个失败的U子Q你得到的一定是p|Q如果你U植的是一个成功的U子Q那么你׃定会成功?/div> <div>很多人有很多的坏习惯Q如Q看电视Q打dQ喝酒,泡舞厅,他们也知道这L习惯不好Q但是他们ؓ什么不愿意改变呢?因ؓ很多人宁愿忍受那些不好的生活方式Q也不愿意忍受改变带来的痛苦</div> <div>二、愿意背后议论别人:</div> <div>      如果在生zMQ你喜欢议论别h的话Q有一天一定会传回去,中国有一句古话,Zh是非者,定是是非?/div> <div>三、消极,抱怨:</div> <div>      你在生活中喜Ƣ那些h呢?是那些整天愁眉苦脸,整天抱怨这个抱怨哪个的人,q是喜欢那些整天开开心心的h。如果你在生zM是那些抱怨的Q消极的人的话,你一定要改变你性格中的~陷。如果你不改变的话,你是很难适应q个C会的。你也是很难和别人合作的?/div> <div>      生活当中你要知道Q你怎样对待生活Q生zM会怎样对待你,你怎样对待别hQ别Z会怎样对待你。所以你不要消极Q抱怨。你要积极,永远的积极下去,是那句话:成功者永不抱怨,抱怨者永不成?/div> <div>Z成熟的第三个特征Q经常被情A所左右?/div> <div>一个h成功与否Q取决于五个因素Q?/div> <div>学会控制情A</div> <div>健康的n?/div> <div>良好的h际关p?/div> <div>旉理</div> <div>财务理</div> <div>      如果你想成功Q一定要学会理好这五个因素Qؓ什么把情A攑֜W一位呢Q把健康攑֜W二位呢Q是因ؓ如果你再强的w体Q如果你情A不好Q就会媄响到你的w体Q现在一个h要成?0%靠的是智商,80%靠的是情商,所以你要控制好你的情AQ情l对人的影响是非常大的。h与h之间Q不要ؓ了一点点事情,暴跛_Pq样是不好的?/div> <div>所以在生活中,你要L什么样的心态呢Q你要养成"三不Q,Q三多"Q?/div> <div><br /> </div> <div>不批评、不抱怨、不指责Q?/div> <div><br /> </div> <div>多鼓励、多表扬、多赞美?/div> <div><br /> </div> <div>      你就会成Z个受C会大众Ƣ迎的h。如果你惌你的伙伴更加的优UQ很单,永远的激励和赞美他们?/div> <div>      即他们的确有毛病,那应该怎么办呢Q这时是不是应该l他们徏议,在生zM你会发现有这样一个现象,有hl别人徏议的时候,别h能够接受Q但是有的时候别人就会生气。其实徏议的方式是最重要的,是Q三明治Q赞,Q再赞美Q?/div> <div>想一惻I你一天赞了几个人,有的人可能以就是吹捧,是拍马屁。赞和Ҏ是有区别的,赞美有四个特点:</div> <div>1、是真诚?/div> <div>2、是发自内心?/div> <div>3、被大众所接受?/div> <div>4、无U的</div> <div>      如果你带有很强的目的性去赞美Q那是拍马屁。当你赞别人时候,你要大声的说出来Q当你想批评别h的时候,一定要咬住你的舌头Q?/div> <div>      Z成熟的第四个特征Q不愿学习,自以为是Q没有归零心态?/div> <div>      其实人和动物之间有很多的怼之处Q动物的自我保护意识比h更强Q婴儿与猪Q但是,人和动物最大的区别在于Qh会学习,Z思考。h是要不断学习的,你千万不要把你的天赋潜能l埋没了Q一定要学习Q一定要有一个空杯的心态。我们象谁去学习呢?是直接向成功h士学习!</div> <div>      你要永远学习U极正面的东西,不看Q不听那些消极,负面的东ѝ一旦你吸收了那些有毒的思想Q它会腐蚀你的心灵和h?   的。在q个知识l济的时代里Q学习是你通向未来的唯一护照。在q样一个速度Q变化,危机的时代,你只有不断的学习你才不会被这个时代所抛弃Q一定要有学习,归零的心态。去看每一个h的优点,Q三Q必有我师也Q!</div> <div>Z成熟的第五个特征Q做事情不靠信念Q靠?/div> <div>      我们说相信是LQ坚持是l点。很多h做事不靠信念Q喜Ƣ听别h怎么说。对自己所做的事业Q没?00%的信心,怿和信忉|两个不同的概念,怿是看得见的,信念是看不见的?/div> <div>      信念是hcȝ一U态度Q但是很多的Z们做事,不靠信念的,而是要听别h怎么_你要M山峰Q要问那些爬到山的人,千万不能问没有爬q山的h?/div> <div>      q里不是说别人的不要dQ你可以d考,但是你要CQ你来做q个生意是ؓ了实C的梦惻I实现你自q价倹{其他的人是不会兛_你的梦想的,只有你自己关心你自己的梦惻I只有你自己关心你自己能否真正的成功。这才是最重要的!</div> <div>只要你的选择是正的Q永q不要在乎别人怎么_以上的h不成熟的五个特征Q你们自己去对照Q那一个特征是你有的,你一定要在最短的旉里改正,只要你相信你自己能够战胜自己的不成熟Q你׃逐渐的成长,成熟hQ你׃得到你想要的那种生活。你׃实现你时间自由、胦务自由、精自q人生梦想! </div><img src ="http://www.tkk7.com/haha1903/aggbug/406581.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/haha1903/" target="_blank">哈哈的日?/a> 2013-11-20 16:17 <a href="http://www.tkk7.com/haha1903/archive/2013/11/20/406581.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>logback ?scanPeriod 遇到的问?/title><link>http://www.tkk7.com/haha1903/archive/2013/11/12/406256.html</link><dc:creator>哈哈的日?/dc:creator><author>哈哈的日?/author><pubDate>Tue, 12 Nov 2013 06:25:00 GMT</pubDate><guid>http://www.tkk7.com/haha1903/archive/2013/11/12/406256.html</guid><wfw:comment>http://www.tkk7.com/haha1903/comments/406256.html</wfw:comment><comments>http://www.tkk7.com/haha1903/archive/2013/11/12/406256.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/haha1903/comments/commentRss/406256.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/haha1903/services/trackbacks/406256.html</trackback:ping><description><![CDATA[<h1 style="font-family: Avenir, sans-serif; border: 0px; font-size: 1.2em; margin: 12px 0px 7px; padding: 0px; outline: 0px; line-height: 1.3; color: #333333;">讄?scanPeriod 之后Q过了好长时_都不生效Q后?debug 代码。发C下面q段?/h1> <pre style="font-family: 'Bitstream Vera Sans Mono', 'Courier New', monospace; border: 1px solid #e8e8e8; font-size: 15px; margin-top: 12px; margin-bottom: 12px; padding: 6px 10px; outline: 0px; line-height: normal; background-color: #f8f8f8; color: #444444; white-space: pre-wrap; word-wrap: break-word; cursor: text; max-width: 100%; overflow: auto; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;"> private volatile long mask = 0xF; <a style="font-family: Avenir, sans-serif; color: #47b1c7; text-decoration: none;">@Override</a> public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable t) { if (!isStarted()) { return FilterReply.NEUTRAL; } // for performance reasons, skip change detection (MASK-1) times out of MASK. // Only once every MASK calls is change detection code executed // Note that MASK is a variable itself. if (((invocationCounter++) & mask) != mask) { return FilterReply.NEUTRAL; } long now = System.currentTimeMillis(); synchronized (configurationWatchList) { updateMaskIfNecessary(now); if (changeDetected(now)) { // Even though reconfiguration involves resetting the loggerContext, // which clears the list of turbo filters including this instance, it is // still possible for this instance to be subsequently invoked by another // thread if it was already executing when the context was reset. disableSubsequentReconfiguration(); detachReconfigurationToNewThread(); } } return FilterReply.NEUTRAL; } </pre> <p style="font-family: Avenir, sans-serif; border: 0px; font-size: 15px; margin: 12px 0px 18px; padding: 0px; outline: 0px; color: #333333; line-height: normal;">q行 <code style="font-family: 'Bitstream Vera Sans Mono', 'Courier New', monospace; border: 1px solid #e8e8e8; font-size: 0.95em; margin: 0px; padding: 0px; outline: 0px; color: #2c92b0; border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;">if (((invocationCounter++) & mask) != mask) {</code> mask = 0xfQ其实要每@?0xf ơ,也就?15 ơ,才会?check 一ơ是否要更新Q也是_不管q了多久Q如果没到这 15 ơ,也不会去查是否更新配|?br /> 也就是说Q我多打几次 logQ配|文件就生效了?/p> @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);<img src ="http://www.tkk7.com/haha1903/aggbug/406256.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/haha1903/" target="_blank">哈哈的日?/a> 2013-11-12 14:25 <a href="http://www.tkk7.com/haha1903/archive/2013/11/12/406256.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring Security 调研ȝhttp://www.tkk7.com/haha1903/archive/2013/11/12/406257.html哈哈的日?/dc:creator>哈哈的日?/author>Tue, 12 Nov 2013 06:25:00 GMThttp://www.tkk7.com/haha1903/archive/2013/11/12/406257.htmlhttp://www.tkk7.com/haha1903/comments/406257.htmlhttp://www.tkk7.com/haha1903/archive/2013/11/12/406257.html#Feedback0http://www.tkk7.com/haha1903/comments/commentRss/406257.htmlhttp://www.tkk7.com/haha1903/services/trackbacks/406257.htmlspring securityQ下写ؓ ssQ控制的安全主要有两斚wQWeb ?Method CallQ这两个斚w的权限控制有比较多的盔R的设计Q也有一些特别的功能。比?Method Call 可以?After Invocation 控制Q?Web 可以?Ip 地址控制?/p>

q里面有两个最基本的概念:authentication manager ?access decision managerQ前者控制认证,后都控制鉴权?br /> 1. ?ss 的认证系l中Q默认的实现帮助我们提供了三个概念,用户QuserQ,角色QauthorityQ一般存 roleQ和l(groupQ,三者的关系是,l、角色与用户都是多对多关p,l和角色间没关系Q默认是不启用组的。后l,?Acl 权限理中,可以看到角色之间Q是可以有包含(树ŞQ)关系的?br /> 2. ?ss 的鉴权系l中Q明显会比认证复杂得多。有 AccessDecisionManager, AccessDecisionVoterQ前|), AfterInvocationProviderQ后|), RoleHierarchy, SidRetrievalStrategy, LookupStrategy, PermissionGrantingStrategy, SecurityExpressionHandler, AclService, MutableAclService, AclCache 概念q多了,要一个一个解?br /> a) 中心?AccessDecisionManagerQ主要负?AccessDecisionVoter 的管理,默认提供?U实玎ͼ1. AffirmativeBased 如果有Q何一个投器允许讉K,h被立刻允许,而不之前可能有的拒l决定?. ConsensusBased 多数?允许或拒l?军_了结果,q_的投?和空?全是弃权?的结果是可配|的?. UnanimousBased 所有的投票器必d是允许的,否则讉K?被拒l?br /> AccessDecisionManager 在用?Web ?Method Call 两种情况下,可能是不一致的Q因为功能也不一致?br /> b) Method Call 除了使用 AccessDecisionManager q行权限判断外,q可以增?AfterInvocationProvider 来进行出口数据的判断Q默认提供了 3 U?br /> 1) PostInvocationAdviceProvider: 需要提供一?PostInvocationAuthorizationAdviceQ默认实现只有一个,是 ExpressionBasedPostInvocationAdviceQ可以通过 spel 来进行权限判断。注?ExpressionBasedPostInvocationAdvice 中需要提供一?MethodSecurityExpressionHandlerQ能够创建出一?MethodSecurityExpressionOperationsQ放?spel context 中,?spel function 调用Q这L方式Q在后箋很常见?br /> 2) AclEntryAfterInvocationProvider ?AclEntryAfterInvocationCollectionFilteringProvider : q两U都差不多,主要依赖 AclService, ObjectIdentityRetrievalStrategy, SidRetrievalStrategy 来配合,查返回值的权限。Collection 版本的,可以把无权限的数据去掉,只留下有权限的数据?br /> c) RoleHierarchy 提供了角色之间的关系Q提供了两个实现Q一个是没关pȝQ直接把 user ?role q回Q另外一个是有承关pȝ。承关pd现挺有意思的Q能够处理多U的 include 关系Q比较好用?br /> RoleHierarchy 的用比较复杂,会被 AccessDecisionVoter, SidRetrievalStrategy, SecurityExpressionHandler 用到QSecurityExpressionHandler 又会?AccessDecisionVoter 用到Q所以还是有点儿混ؕ?br /> 具体的说 SecurityExpressionHandler 会用?PermissionEvaluator ?RoleHierarchyQPermissionEvaluator 的一个实?AclPermissionEvaluator 会用?SidRetrievalStrategy?br /> d) SidRetrievalStrategy ?RoleHierarchy 的功能比较接q,?RoleHierarchy 高一个抽象层ơ,功能上也有所区别Q是从一?authentication 拿到所有相关的 SidQ包?RoleQGrantedAuthoritySidQ??UserQPrincipalSidQ)Q?RoleHierarchy 只包括了 RoleQGrantedAuthoritySidQ的l承关系?br /> e) LookupStrategy 通过 ObjectIdentity ?Sid 把相关的 Acl 查询出来。可以在 LookupStrategy 扩展 Acl ?Ace 的功能,比如?Ace 上面加上旉的条仉Ӟ需要自己定?LookupStrategyQ把旉条g从数据库查询出来Qƈ攑ֈ自定义的 Ace 当中?br /> 但这件事情非帔R烦,因ؓ默认实现?BasicLookupStrategy 是个 Final 的类Q所以只能自q接实现接口,无法使用现有的功能?br /> LookupStrategy 会生?AclQ而最l的权限验证是由 Acl 完成的,如果想验证带旉条g?AceQ需要给 Acl 讄自定义的带有查时间功能的 PermissionGrantingStrategyQ实际上Q这?PermissionGrantingStrategy 会首先设|给 LookupStrategyQLookupStrategy 在创?Acl 的时候,再放?Acl 中去?br /> f) SecurityExpressionHandler 能够执行 spelQ得到是否可以访问的l果Q它的子c都是承自 AbstractSecurityExpressionHandler 的,有一个非帔R要的Ҏ?SecurityExpressionOperations createSecurityExpressionRoot(Authentication authentication, T invocation)Q创Z?SecurityExpressionOperations 攑ֈ EvaluationContext 中去Q提?spel 中执行的Ҏ实现。比?SecurityExpressionOperations 的一个抽象实?SecurityExpressionRoot 中,包含了大量的权限验证方法,?hasRole, hasPermission {常用的功能?br /> g) AclService, MutableAclService, AclCache 概念比较单,AclService 是通过 LookupStrategy 查询 AclQ自已可以查?ObjectIdentity 的父子关联关p,MutableAclService 提供了修改的能力QAclCache ?AclService 提供~存Q默认的实现了一?EhCacheBasedAclCache?br /> 3. ss 的鉴权模?Sid, ObjectIdentity, Acl, Ace, Permission
a) Sid: 是中心,所有的授权会关联在 Sid 上面QSid 和之前的 Role Base Permission 会有些相同的地方Q但也明显不同,Sid 默认实现情况下,分ؓ GrantedAuthoritySid ?PrincipalSidQ其实就?Role ?UserQ通过 SidRetrievalStrategy 拿到一?Authentication ?Sid?br /> b) ObjectIdentity: 可以理解?ResourceQ就是可讉K的目标资源,?id ?type 两个字段Q默认实现的 ObjectIdentityImpl 会直接调用目?domainObject ?getClass ?getId Ҏ拿到两个参数。在 PermissionEvaluator, AfterInvocationProvider 中,会用?ObjectIdentityRetrievalStrategy ?ObjectIdentityGeneratorQObjectIdentityRetrievalStrategy 会根?domainObject 拿到 ObjectIdentityQ然后?Acl q行鉴权QObjectIdentityGenerator 会在pȝ提供的不?domainObjectQ而是 type, id 的时候,拿到 ObjectIdentityQ然后进?Acl 鉴权Q这两个接口有一个共同的实现 ObjectIdentityRetrievalStrategyImplQ如果需要在 ObjectIdentity q行新的抽象Q需要用新的实现Q到得不同的 ObjectIdentityQ比如将业务对象分类鉴权q样的需求?br /> c) Acl, 每个 ObjectIdentity 最多对应一?AclQAcl 中包含了很多Q包?parentalQ说?Acl 是有l承关系的?其实不是Q呵呵,?ObjectIdentity 有承关p而已。有一?ObjectIdentityQ有很多 SidQ还有一个叫?Owner ?SidQ有?LookupStrategy 传过来的 PermissionGrantingStrategyQ进行实际的鉴权Q还?AclAuthorizationStrategy 查有没有权限q行 Acl security check。实现时间条件检查,扩?PermissionGrantingStrategy?br /> Z么没?RoleHierarchy 或是 SidRetrievalStrategy 存在呢?是因?Acl q行权限查之前,已经把相关的 Sid 得到了,再给 Acl 的?br /> d) Ace, Permission: Ace 存储 Sid, PermissionQ提供给 Acl 鉴权用。增加时间条件的话,最基本的,是要在 Ace 中,增加旉条g字段。Permission 是用二进制存储的Q但默认实现的数据库存储q不是,是一个一条,存在数据库里面的?/p>

好吧Q概念还是非常多的,不过鉴于权限控制本n是个复杂的话题Qss q些设计的我觉得已经非常好,也基本够用了?/p> @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

]]>
java ldaps 讉K ad Ӟ信Q所有的证书http://www.tkk7.com/haha1903/archive/2013/09/10/403887.html哈哈的日?/dc:creator>哈哈的日?/author>Tue, 10 Sep 2013 04:30:00 GMThttp://www.tkk7.com/haha1903/archive/2013/09/10/403887.htmlhttp://www.tkk7.com/haha1903/comments/403887.htmlhttp://www.tkk7.com/haha1903/archive/2013/09/10/403887.html#Feedback0http://www.tkk7.com/haha1903/comments/commentRss/403887.htmlhttp://www.tkk7.com/haha1903/services/trackbacks/403887.html
package com.datayes.cloud.util;

import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

public class TrustAllSSLSocketFactory extends SSLSocketFactory {
    SSLContext sslContext = SSLContext.getInstance("TLS");

    public TrustAllSSLSocketFactory() throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
        TrustManager tm = new X509TrustManager() {
            public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            }

            public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            }

            public X509Certificate[] getAcceptedIssuers() {
                return null;
            }
        };
        sslContext.init(nullnew TrustManager[]{tm}, null);
    }

    @Override
    public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException {
        return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
    }


    @Override
    public Socket createSocket(String host, int port) throws IOException {
        return sslContext.getSocketFactory().createSocket(host, port);
    }

    @Override
    public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException {
        return sslContext.getSocketFactory().createSocket(host, port, localHost, localPort);
    }

    @Override
    public Socket createSocket(InetAddress host, int port) throws IOException {
        return sslContext.getSocketFactory().createSocket(host, port);
    }

    @Override
    public Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException {
        return sslContext.getSocketFactory().createSocket(address, port, localAddress, localPort);
    }

    @Override
    public Socket createSocket() throws IOException {
        return sslContext.getSocketFactory().createSocket();
    }

    @Override
    public String[] getDefaultCipherSuites() {
        return new String[0];
    }

    @Override
    public String[] getSupportedCipherSuites() {
        return new String[0];
    }
}


]]>
准备 OpenStack 开发环?/title><link>http://www.tkk7.com/haha1903/archive/2013/08/06/402420.html</link><dc:creator>哈哈的日?/dc:creator><author>哈哈的日?/author><pubDate>Tue, 06 Aug 2013 02:19:00 GMT</pubDate><guid>http://www.tkk7.com/haha1903/archive/2013/08/06/402420.html</guid><wfw:comment>http://www.tkk7.com/haha1903/comments/402420.html</wfw:comment><comments>http://www.tkk7.com/haha1903/archive/2013/08/06/402420.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/haha1903/comments/commentRss/402420.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/haha1903/services/trackbacks/402420.html</trackback:ping><description><![CDATA[主要是遇到的一些问题吧Q顺便感谢一下帮助了我的人。安装之前,听说安装正式环境?OpenStack 挺麻烦的Q所以,出发点就是安装一个能试使用?Dev 环境可以了Q不求全Q时间紧张,能用p。所以,定位?devstackQhttp://devstack.orgQ,一键安?OpenStack <div><br /> </div> <div>问题</div> <div>1. 想用 CentOS 来着Q没原因Q习惯了Q后来发玎ͼdevstack 默认支持 ubuntuQؓ了简单,改用 ubuntu</div> <div>2. 安装q程中,需要大量的|络下蝲Q网速如果不快,挺急h的?/div> <div>3. 安装?stack.sh ?191 行,会报?nbsp;[ERROR] ./stack.sh:191 g-api did not startQ这个问题折腾了我好久,最后按?nbsp;https://answers.launchpad.net/glance/+question/231020 办法解决了,非常感谢 Marc PINHEDE (pinhede-marc) Q但?nbsp;https://bugs.launchpad.net/devstack/+bug/1119428 里,有h说只要修?/etc/default/locale LANG="POSIX"Q就可以了,其实我两个都改了Q也不知道是哪个产生了作用。但Q第一U方法,需要安装到一半,p|了,才会有提到的 /opt/stack/glance/glance/notifier/notify_kombu.py 文gQ但W二U方法,刚开始就可以试Q所以我如果下次安装的话Q会先把W二U配|修改好Q如果安装失败了Q再使用W一U方法l?/div> <div><br /> </div> <div><br /> </div><img src ="http://www.tkk7.com/haha1903/aggbug/402420.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/haha1903/" target="_blank">哈哈的日?/a> 2013-08-06 10:19 <a href="http://www.tkk7.com/haha1903/archive/2013/08/06/402420.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Build Hadoop q程中遇到需要安?protobuf 问题的解x?/title><link>http://www.tkk7.com/haha1903/archive/2013/07/24/401909.html</link><dc:creator>哈哈的日?/dc:creator><author>哈哈的日?/author><pubDate>Wed, 24 Jul 2013 05:24:00 GMT</pubDate><guid>http://www.tkk7.com/haha1903/archive/2013/07/24/401909.html</guid><wfw:comment>http://www.tkk7.com/haha1903/comments/401909.html</wfw:comment><comments>http://www.tkk7.com/haha1903/archive/2013/07/24/401909.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/haha1903/comments/commentRss/401909.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/haha1903/services/trackbacks/401909.html</trackback:ping><description><![CDATA[?compile hadoop-common 的时候,提示 protobuf 出错Q查了一下,需要安?protobufQ是一个非 Java 的组Ӟ <div>先到 homebrew 上找到安?homebrew 的方?nbsp;ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"</div> <div>然后不能直接 brew install protobufQ因Z安装 1.5.0Q也没办法编译过的,我试了?/div> <div>需要先 brew versions protobufQ然?cd `brew --prefix`Q我默认的是 cd /usr/localQ,直接招待刚才 brew versions 出来的那?git clone Ҏ?/div> <div>然后再次 brew install protobuf Q就安装  1.4.1 了,l箋 maven 没有问题了?/div><img src ="http://www.tkk7.com/haha1903/aggbug/401909.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/haha1903/" target="_blank">哈哈的日?/a> 2013-07-24 13:24 <a href="http://www.tkk7.com/haha1903/archive/2013/07/24/401909.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Mac ?Terminal ?Java 不ؕ?/title><link>http://www.tkk7.com/haha1903/archive/2013/07/24/401908.html</link><dc:creator>哈哈的日?/dc:creator><author>哈哈的日?/author><pubDate>Wed, 24 Jul 2013 05:20:00 GMT</pubDate><guid>http://www.tkk7.com/haha1903/archive/2013/07/24/401908.html</guid><wfw:comment>http://www.tkk7.com/haha1903/comments/401908.html</wfw:comment><comments>http://www.tkk7.com/haha1903/archive/2013/07/24/401908.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/haha1903/comments/commentRss/401908.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/haha1903/services/trackbacks/401908.html</trackback:ping><description><![CDATA[?.bash_profile 中增加一?nbsp;export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 可以了? <div><br /> </div> <div><br /> </div><img src ="http://www.tkk7.com/haha1903/aggbug/401908.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/haha1903/" target="_blank">哈哈的日?/a> 2013-07-24 13:20 <a href="http://www.tkk7.com/haha1903/archive/2013/07/24/401908.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://71caoxee.com" target="_blank">99þۺϾƷ</a>| <a href="http://qianmiu.com" target="_blank">ѻɫëƬƵ</a>| <a href="http://www827556.com" target="_blank">һƵ</a>| <a href="http://aa2176.com" target="_blank">߹ۿ</a>| <a href="http://234an.com" target="_blank">޾ƷɫƵ߹ۿԴ </a>| <a href="http://928348.com" target="_blank">˾ƷۺƵ</a>| <a href="http://djyvp32.com" target="_blank">ƷרΨ</a>| <a href="http://hivzx.com" target="_blank">Ʒһ</a>| <a href="http://pjszlw.com" target="_blank">þ4438</a>| <a href="http://9981tv.com" target="_blank">޴ɫ߹ۿ</a>| <a href="http://xjywater.com" target="_blank">һҹ</a>| <a href="http://180xiu.com" target="_blank">Ƶַ</a>| <a href="http://gedebai.com" target="_blank">ŷպٲ</a>| <a href="http://5079157.com" target="_blank">ɫվwwwͬ</a>| <a href="http://avqq222.com" target="_blank">޹ƷþþþϼС</a>| <a href="http://yijiazhiwei.com" target="_blank">ۺϼ¶</a>| <a href="http://ksdhao.com" target="_blank">޾Ʒþ</a>| <a href="http://sdshfengji.com" target="_blank">ձϵ1ҳϵ</a>| <a href="http://ttooyuyu.com" target="_blank"> ߹ۿ91</a>| <a href="http://szzrjk.com" target="_blank">žžþþƷѿС˵</a>| <a href="http://ehiver.com" target="_blank">avһ</a>| <a href="http://youketech.com" target="_blank">91Ƶѹۿ</a>| <a href="http://meinvtaotu.com" target="_blank">òƵѹۿ</a>| <a href="http://626632.com" target="_blank">wwwƵ߹ۿ</a>| <a href="http://haha02.com" target="_blank">jlzzjlzz߲</a>| <a href="http://hairdehf.com" target="_blank">Ʒѹһ</a>| <a href="http://959901cc.com" target="_blank">www.һ</a>| <a href="http://tha2008.com" target="_blank">ձƵ</a>| <a href="http://1880531.com" target="_blank">С˵ͼƬ</a>| <a href="http://942woool.com" target="_blank">պƷ3</a>| <a href="http://5g6z.com" target="_blank">δʮ˽˸ӰԺ</a>| <a href="http://socgl.com" target="_blank">߹ۿɫƬվ</a>| <a href="http://33a55.com" target="_blank">AVѿ</a>| <a href="http://23usxx.com" target="_blank">aƵƬ߹ۿ</a>| <a href="http://mangaou.com" target="_blank">ѨƬ߹ۿ</a>| <a href="http://53reniao.com" target="_blank">ҹ޾ƷƬ</a>| <a href="http://8dfk.com" target="_blank">޵һվ</a>| <a href="http://52xdc.com" target="_blank">ɫƷһ</a>| <a href="http://ccc16938.com" target="_blank">ɫ˿ѿ </a>| <a href="http://6123fa.com" target="_blank">һ߲</a>| <a href="http://929119.com" target="_blank">ŷ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>