乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      OAuth 2 開發(fā)人員指南(Spring security oauth2)

       dwlinux_gs 2015-06-24

      入門

      這是支持OAuth2.0的用戶指南。對于OAuth1.0,一切都是不同的,所以看它的用戶指南。

      本用戶指南分為兩個部分,第一部分是OAuth2.0提供端(OAuth 2.0 Provider),第二部分是OAuth2.0的客戶端(OAuth 2.0 Client)

      OAuth2.0提供端

      OAuth2.0的提供端的用途是負(fù)責(zé)將受保護(hù)的資源暴露出去。配置包括建立一個可以訪問受保護(hù)的資源的客戶端代表。提供端是通過管理和驗證可用于訪問受保護(hù)的資源的OAuth 2令牌來做的。在適當(dāng)?shù)牡胤?,提供端也必須為用戶提供一個用于確認(rèn)客戶端 是否能夠訪問受保護(hù)的資源的接口(也就是一個頁面或是一個窗口)。

      Knowvin
      Knowvin
      翻譯于 9個月前

      2人頂

       翻譯的不錯哦!

      在 OAuth 2 提供者其實是分成授權(quán)服務(wù)和資源服務(wù)兩個角色的,而這兩個角色有時是存在于同一個應(yīng)用程序中的,通過 Spring Security OAuth 你可以有選擇的將它們分裂到兩個應(yīng)用程序中,也可以有選擇的給授權(quán)服務(wù)配置多個資源服務(wù)。獲取令牌(Tokens)的請求是由Spring MVC的控制器端點來處理的,訪問受保護(hù)的資源是通過標(biāo)準(zhǔn)的Spring Security請求過濾器來處理的。

      下面列舉的端點是 Spring Security 過濾器鏈實現(xiàn) OAuth 2 授權(quán)服務(wù)器必須的端點:

      • AuthorizationEndpoint  是用于授權(quán)服務(wù)請求的。默認(rèn)的URL是:/oauth/authrize。

      • TokenEndpoint  是用于獲取訪問令牌(Access Tokens)的請求。默認(rèn)的URL是:/oauth/token。

      下面過濾器是實現(xiàn)一個OAuth2資源服務(wù)器所必須的:

      • OAuth2AuthenticationProcessingFilter 這個過濾器是用于加載請求提供的一個授權(quán)了的訪問令牌是否有效。

      對于所有的OAuth 2.0的提供端,通過使用Spring OAuth專門的@Configuration適配器來簡化配置。也可以通過XML命名空間來配置OAuth,XML的schema存在:http://www./schema/security/spring-security-oauth2.xsd。命令空間是http://www./schema/security/oauth2

      Knowvin
      Knowvin
      翻譯于 9個月前

      3人頂

       翻譯的不錯哦!

      授權(quán)服務(wù)器配置

      配置授權(quán)服務(wù)器時,您必須考慮的grant類型,從終端用戶那,客戶端會使用獲取到的訪問令牌(如授權(quán)代碼、用戶憑證、刷新令牌)。服務(wù)器的配置是用于提供一些實現(xiàn),像客戶端細(xì)節(jié)服務(wù)和令牌服務(wù)還有啟用或禁用某些方面的全球機制。但是請注意,每個客戶端可以專門配置權(quán)限能夠使用某些授權(quán)機制和訪問授權(quán)。即僅僅因為您的提供者配置為支持“客戶證書”grant類型,并不意味著一個特定的客戶端被授權(quán)使用grant類型。

      @EnableAuthorizationServer 注釋用于配置 OAuth 2.0 授權(quán)服務(wù)器機制,加上任意一個@Beans 去實現(xiàn) AuthorizationServerConfigurer (這是一個hander適配器實現(xiàn)的空方法)。以下功能委托給由 spring 創(chuàng)造的獨立 configurers 而且傳遞到 AuthorizationServerConfigurer:

      • ClientDetailsServiceConfigurer:這個configurer定義了客戶端細(xì)節(jié)服務(wù)??蛻粼敿?xì)信息可以被初始化,或者你可以參考現(xiàn)有的商店。

      • AuthorizationServerSecurityConfigurer:在令牌端點上定義了安全約束。

      • AuthorizationServerEndpointsConfigurer:定義了授權(quán)和令牌端點和令牌服務(wù)

      warrior_by
      warrior_by
      翻譯于 9個月前

      1人頂

       翻譯的不錯哦!

      提供端配置中重要的一項是提供給OAuth 客戶端的授權(quán)碼。 OAuth 客戶端通過將終端用戶導(dǎo)向一個可以輸入證書/口令的授權(quán)驗證頁面來獲取授權(quán)碼,然后,將授權(quán)碼傳遞給提供端授權(quán)服務(wù)器,服務(wù)器驗證后重定向頁面。 在 OAuth 2 說明文檔中有詳細(xì)的示例。

      在 xml 配置文件中,可以使用<authorization-server/>節(jié)點配置 OAuth 2.0 授權(quán)服務(wù)器。

      daxiang
      daxiang
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      配置客戶端詳細(xì)步驟

      ClientDetailsServiceConfigurer 類(AuthorizationServerConfigurer類中的一個調(diào)用類)可以用來定義一個基于內(nèi)存的或者JDBC的客戶端信息服務(wù)。 

      客戶端對象重要的屬性有:

      • clientId:(必須)客戶端id。

      • secret:(對于可信任的客戶端是必須的)客戶端的私密信息。

      • scope:客戶端的作用域。如果scope未定義或者為空(默認(rèn)值),則客戶端作用域不受限制。

      • authorizedGrantTypes:授權(quán)給客戶端使用的權(quán)限類型。默認(rèn)值為空。

      • authorities:授權(quán)給客戶端的權(quán)限(Spring普通的安全權(quán)限)。

      在運行的應(yīng)用中,可以通過直接訪問隱藏的存儲文件(如:JdbcClientDetailsService中用到的數(shù)據(jù)庫表)或者通過實現(xiàn)ClientDetailsManager 接口(也可以實現(xiàn)ClientDetailsService 接口,或者實現(xiàn)兩個接口)來更新客戶端信息。

      daxiang
      daxiang
      翻譯于 9個月前

      1人頂

       翻譯的不錯哦!

      管理令牌

      AuthorizationServerTokenServices 接口里定義了 OAuth 2.0 令牌的操作方法。 注意以下幾點:

      • 創(chuàng)建一個訪問令牌時,必須保存權(quán)限信息,這樣后續(xù)令牌才可以引用它。

      • 訪問令牌用于加載創(chuàng)建令牌時的授權(quán)信息。

      創(chuàng)建AuthorizationServerTokenServices 接口的實現(xiàn)類時,你可以考慮使用DefaultTokenServices 類,它使用隨機值創(chuàng)建令牌,并處理除永久令牌以外的所有令牌,對于永久令牌,它委托TokenStore類進(jìn)行處理。 令牌默認(rèn)采用基于內(nèi)存實現(xiàn)的存儲方式,但也有一些其它的存儲方式。 下面是其中一些方式的簡介:

      • 默認(rèn)的InMemoryTokenStore 處理類對于單服務(wù)器場景非常適用(優(yōu)點有:低阻塞,宕機時無需熱切換到備份服務(wù)器)。大部分項目可以在開始時或者在開發(fā)模式下使用這種方式,這樣比較容易啟動一個沒有其它依賴的服務(wù)器。

      • JdbcTokenStore 類是實現(xiàn)存儲令牌的JDBC 版本,它將令牌信息保存到關(guān)系型數(shù)據(jù)庫中。 如果服務(wù)器間共享數(shù)據(jù)庫或者同一個服務(wù)器有多個實例或者授權(quán)服務(wù)器、資源服務(wù)器有多個組件,那么可以使用JDBC方式存儲令牌。 使用JdbcTokenStore 類時,需要將spring-jdbc組件jar包添加到工程的編譯路徑中。

      • JSON網(wǎng)頁令牌(JWT)可以加密所有令牌授權(quán)訪問的數(shù)據(jù)(因此不需要在后臺存儲數(shù)據(jù),這就是JWT一個重要的優(yōu)點)。 缺點是你不能方便地撤銷一個已授權(quán)的令牌(因此一般它們被授權(quán)的有效期較短,撤銷授權(quán)的操作在刷新令牌中進(jìn)行)。 另一個缺點是存儲的令牌數(shù)據(jù)會越來越大因為在令牌里面存儲了大量的用戶證書信息。 JwtTokenStore 類不是一個真正的存儲類,它未持久化(保存)任何數(shù)據(jù),但是它在傳輸令牌信息和授權(quán)信息(在DefaultTokenServices類中實現(xiàn))中扮演了同樣的角色。 JwtTokenStore(接口)類依賴JwtAccessTokenConverter類,授權(quán)服務(wù)器和資源服務(wù)器都需要接口的實現(xiàn)類(因此他們可以安全地使用相同的數(shù)據(jù)并進(jìn)行解碼)。 令牌以默認(rèn)方式進(jìn)行簽名,資源服務(wù)器為了能夠驗證這些簽名,它需要有與授權(quán)服務(wù)器相同的對稱密鑰(服務(wù)器共享對稱密鑰),或者它需要有可以匹配簽名私鑰的公鑰(公有私有密鑰或混合密鑰)。 為了使用JwtTokenStore 類,你需要在工程編譯路徑下添加spring-security-jwt組件jar包(你可以在Spring OAuthgithub資源庫中找到,但是兩者的版本號是不一致的)。

      daxiang
      daxiang
      翻譯于 9個月前

      1人頂

       翻譯的不錯哦!

      Grant 類型

      AuthorizationEndpoint 通過 AuthorizationServerEndpointsConfigurer 可以配置支持 Grant 類型。默認(rèn)情況下支持所有的 grant 類型,除了密碼(有關(guān)詳細(xì)信息,請參閱下面的信息如何開啟和關(guān)閉)。以下屬性影響grant類型:
          · authenticationManager:密碼授予被注入一個authenticationManager開啟。
          · authorizationCodeServices:為了身份驗證代碼授予定義了授權(quán)代碼服務(wù)(org.springframework.security.oauth2.provider.code.AuthorizationCodeServices實例).
          · implicitGrantService:在隱式授予管理狀態(tài)。
          · tokenGranter:TokenGranter(完全掌控的授予和忽略上面的其他屬性)?在XML grant類型包括authorization-server的子元素。

      warrior_by
      warrior_by
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      配置端點的URL

      AuthorizationServerEndpointsConfigurer有一個pathMapping()方法。該方法有兩個參數(shù):

      • defaultPath 默認(rèn)的端點URL

      • customPath 自定義的URL 

      框架自己提供的URL路徑是/oauth/authorize(授權(quán)端),/oauth/token (令牌端),/oauth/confirm_access (用戶發(fā)送確認(rèn)授權(quán)到這里),還有/oauth/error (用戶呈現(xiàn)授權(quán)服務(wù)器授權(quán)出錯的請求)。

      注意:授權(quán)端/oauth/authorize(或者是它的影射)應(yīng)該是受Spring Security保護(hù)的,所以它只能被已授權(quán)的用戶訪問。令牌端默認(rèn)是通過使用支持使用HTTP基本身份驗證客戶機的秘密的注解@Configuration,被Spring Oauth保護(hù)的,但不是使用XML文件的(所以在這種情況下它被保護(hù)是很明確的)。

      使用XML的<authorization-server/>元素可以使用一些屬性來達(dá)到改變默認(rèn)的端點URL。


      Knowvin
      Knowvin
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      自定義錯誤處理

      授權(quán)服務(wù)器上錯誤處理使用標(biāo)準(zhǔn)的 Spring MVC 功能,即 @ExceptionHandler 端點本身的方法。用戶還可以提供一個 WebResponseExceptionTranslator 端點本身,最好的辦法是改變響應(yīng)的內(nèi)容而不是他們呈現(xiàn)的方式。異常的呈現(xiàn)代表 HttpMesssageConverters (這個可以添加到MVC的配置中)令牌的端點和OAuth的錯誤視圖(/ OAuth /error)的授權(quán)端點。提供一個whitelabel錯誤端點,但是用戶可能需要提供一個自定義的實現(xiàn)(例如,就添加一個 @Controller,它的請求映射是 @RequestMapping(“/ oauth /error”))。

      warrior_by
      warrior_by
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      配置資源服務(wù)器

      資源服務(wù)器(可能和授權(quán)服務(wù)器或者一個單獨的應(yīng)用程序在同一臺主機上)提供被OAuth2 令牌保護(hù)的資源。 Spring OAuth提供一個Spring Security授權(quán)過濾器,它實現(xiàn)保護(hù)資源的功能。在@Configuration類中,你可以使用@EnableResourceServer來開啟/關(guān)閉過濾器,使用ResourceServerConfigurer來配置它。 下面是可配置的屬性:

      • tokenServices:定義令牌服務(wù)的實體(ResourceServerTokenServices類的實例)。

      • resourceId:資源ID(可選的,建議配置,如果不為空,授權(quán)服務(wù)器會對它進(jìn)行驗證)。

      @EnableResourceServer注解把一個 OAuth2AuthenticationProcessingFilter 類型過濾器添加到Spring Security 過濾鏈中。

      在 XML中,有一個<resource-server/>元素,它有一個id屬性 – 這是servlet過濾器的bean id,它過濾哪些可以被添加到Spring Security鏈中。

      daxiang
      daxiang
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      配置OAuth-Aware表達(dá)式處理器

      你可能想要使用Spring Security的使用表達(dá)式語言配置訪問控制的優(yōu)點。 表達(dá)式處理器在 @EnableResourceServer配置中以默認(rèn)方式進(jìn)行注冊。 表達(dá)式包括#oauth2.clientHasRole,#oauth2.clientHasAnyRole, 和 #oath2.denyClient,這些可以提供基于oauth客戶端角色的訪問控制(詳細(xì)列表見OAuth2SecurityExpressionMethods)。 在XML中,你可以在<http/> 安全配置節(jié)點內(nèi)使用expression-handler元素注冊一個oauth-aware表達(dá)式處理器。

      OAuth 2.0 客戶端

      OAuth 2.0 客戶端控制著 OAuth 2.0保護(hù)的其它服務(wù)器的資源的訪問權(quán)限。 配置包括建立相關(guān)受保護(hù)資源與有權(quán)限訪問資源的用戶之間的連接。 客戶端也需要實現(xiàn)存儲用戶的授權(quán)代碼和訪問令牌的功能。

      daxiang
      daxiang
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      受保護(hù)資源的配置

      受保護(hù)的資源(或稱為遠(yuǎn)程資源)可以使用OAuth2ProtectedResourceDetails類型的實體bean定義。 一個受保護(hù)的資源有以下屬性:

      • id:資源id。它僅在客戶端搜索資源的時候使用;在OAuth協(xié)議中它從未被用到。它也被用作bean的id。

      • clientId:OAuth客戶端id。OAuth提供端依賴這個id來識別客戶端。

      • clientSecret:與資源有關(guān)的秘密。默認(rèn)情況下,該值不為空。

      • accessTokenUri:提供訪問口令的OAuth提供者終端的統(tǒng)一資源標(biāo)識符(URI)。

      • scope:以逗號分隔的字符串列表,標(biāo)識可訪問資源的范圍。默認(rèn)情況下,該值為空。

      • clientAuthenticationScheme: 客戶端對訪問的令牌終端授權(quán)時使用的機制。 建議值: "http_basic" 和 "form"。 默認(rèn)值: "http_basic"。 見OAuth 2 幫助文檔2.1節(jié)。

      不同的授權(quán)類型有不同的實現(xiàn)OAuth2ProtectedResourceDetails (對于client_credentials授權(quán)類型,使用ClientCredentialsResource )的方式。對于需要進(jìn)行用戶身份驗證的授權(quán)類型,還有一個屬性:

      • userAuthorizationUri: 用戶訪問資源需要身份驗證時跳轉(zhuǎn)頁面的URI。 注意這個字段不是必填的,它依賴于被支持的OAuth 2的配置文件類型。

      在XML中,可以使用<resource/>元素創(chuàng)建一個OAuth2ProtectedResourceDetails類型的實體bean。 它有上面提到的所有的屬性。

      daxiang
      daxiang
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      使用@EnableOAuth2Client對OAuth2.0的客戶端的配置比較簡單。主要要做兩件事情:

      • 創(chuàng)建一個過濾bean(用oauth2ClientContextFilter)來存儲當(dāng)前的請求和上下文。在這種情況下需要在請求期間授權(quán),來管理從重定向的位置和OAuth已認(rèn)證的url。

      • 在請求作用域中創(chuàng)建一個AccessTokenRequest類型的bean。這個類型的bean可以在個人用戶的沖突中被識別碼識別(或隱式的),授權(quán)客戶端保持授權(quán)狀態(tài)。

      這個過濾器需要能夠連接到應(yīng)用(例如,使用Servlet初始化程序或者web.xml配置文件配置 一個和DelegatingFilterProxy相同名稱的代理)。


      Triangle23
      Triangle23
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      在一個OAuth2RestTemplate中AccessTokenRequest可以這樣使用:

      1
      2
      3
      4
      5
      6
      7
      @Autowired
      private OAuth2ClientContext oauth2Context;
      @Bean
      public OAuth2RestTemplate sparklrRestTemplate() {
          return new OAuth2RestTemplate(sparklr(), oauth2Context);
      }

      OAuth2ClientContext可以在Session的作用域中保持不同用戶不同的狀態(tài)。如果沒有這個功能,你需要在你自己的服務(wù)強上管理等效的數(shù)據(jù)結(jié)構(gòu),映射不用用戶進(jìn)來的請求并且用相互隔離的OAuth2ClientContext實例連接各個用戶。

      在XML文件中,有一個帶有id屬性的<client/>標(biāo)簽用于表示servlet的Filter的bean id,這個必須映射成一個和DelegatingFilterProxy有相同名稱的@Configuration注解。


      Triangle23
      Triangle23
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      訪問受保護(hù)的資源

      一旦,你已經(jīng)提供了所有的資源服務(wù)器配置時,現(xiàn)在你可以訪問這些資源。建議的訪問這些資源是通過使用在Spring3中提到的RestTemplate。Spring Security OAuth已經(jīng)提供了一個擴(kuò)展的RestTemplate,只需要提供一個OAuth2ProtectedResourceDetails的實例。使用它與user-tokens(授權(quán)代碼授予)你應(yīng)該考慮使用@EnableOAuth2Client配置(或XML等價< oauth:rest-template / >),造成了一些請求和會話作用域上下文對象,要求不同的用戶在運行時不發(fā)生沖突。

      客戶端持久化訪問令牌

      客戶端不需要持久化令牌,但是它可以很好的用戶不需要批準(zhǔn)一個新的令牌格蘭特每次重新啟動客戶機應(yīng)用程序。ClientTokenServices接口定義所需的操作持續(xù)OAuth 2.0為特定用戶令牌。提供一個JDBC實現(xiàn),但是如果你喜歡的話你可以實現(xiàn)自己的服務(wù)以存儲的訪問令牌持久數(shù)據(jù)庫和相關(guān)的驗證實例。如果你想使用此功能,你需要提供一個專門配置TokenProvider theOAuth2RestTemplate如

      1
      2
      3
      4
      5
      @Bean@Scope(value = "session", proxyMode = ScopedProxyMode.INTERFACES)public OAuth2RestOperations restTemplate() {
          OAuth2RestTemplate template = new OAuth2RestTemplate(resource(), new DefaultOAuth2ClientContext(accessTokenRequest));
          AccessTokenProviderChain provider = new AccessTokenProviderChain(Arrays.asList(new AuthorizationCodeAccessTokenProvider()));
          provider.setClientTokenServices(clientTokenServices());
          return template;}




      Knowvin
      Knowvin
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      為外部 OAuth2 提供者定制客戶端

      一些外部OAuth2提供商(如Facebook)不完全實現(xiàn)正確規(guī)范,否則他們只是困在一個舊版本比Spring Security OAuth的規(guī)范。在您的客戶機應(yīng)用程序使用這些供應(yīng)商可能需要適應(yīng)客戶端基礎(chǔ)設(shè)施的各個部分。

      使用Facebook作為一個例子,有一個Facebook功能tonr2應(yīng)用程序(您需要更改配置添加你自己的,有效的,客戶機id和秘密,他們很容易生成在Facebook網(wǎng)站上)。

      Facebook響應(yīng)令牌也包含一個不一致的、有失效時間的JSON實體(他們使用到期而不是expires_in),所以如果你想在應(yīng)用程序中使用失效時間你將不得不使用一個自定義OAuth2SerializationService手動解碼。


      Knowvin
      Knowvin
      翻譯于 9個月前

      0人頂

       翻譯的不錯哦!

      本文中的所有譯文僅用于學(xué)習(xí)和交流目的,轉(zhuǎn)載請務(wù)必注明文章譯者、出處、和本文鏈接
      我們的翻譯工作遵照 CC 協(xié)議,如果我們的工作有侵犯到您的權(quán)益,請及時聯(lián)系我們

      回頁面頂部發(fā)表評論 網(wǎng)友評論共15

      • Knowvin
        Knowvin 發(fā)表于 2014-09-24 11:24
        這個文檔其實很簡單,具體的實現(xiàn)還是要結(jié)合使用才能知道自己到底能不能get該技能!!
      • 指隙陽光
        指隙陽光 發(fā)表于 2014-10-08 08:51
        其實趕腳spring的這套實現(xiàn)里面,有個loadUserXXX還有個loadClientXXX在一次請求里面被調(diào)用了無數(shù)次,每次都查庫,當(dāng)時看的相當(dāng)崩潰.... 沒試過開啟這套實現(xiàn)的認(rèn)證緩存之后會不會好些,當(dāng)時是自己在這兩個方法上加了下緩存....
      • 王翦小寶寶
        王翦小寶寶 來自 iPhone 發(fā)表于 2014-10-08 08:56

        引用來自“指隙陽光”的評論

        其實趕腳spring的這套實現(xiàn)里面,有個loadUserXXX還有個loadClientXXX在一次請求里面被調(diào)用了無數(shù)次,每次都查庫,當(dāng)時看的相當(dāng)崩潰.... 沒試過開啟這套實現(xiàn)的認(rèn)證緩存之后會不會好些,當(dāng)時是自己在這兩個方法上加了下緩存....
        點擊此處輸入評論
      • 王翦小寶寶
        王翦小寶寶 來自 iPhone 發(fā)表于 2014-10-08 08:57

        引用來自“指隙陽光”的評論

        其實趕腳spring的這套實現(xiàn)里面,有個loadUserXXX還有個loadClientXXX在一次請求里面被調(diào)用了無數(shù)次,每次都查庫,當(dāng)時看的相當(dāng)崩潰.... 沒試過開啟這套實現(xiàn)的認(rèn)證緩存之后會不會好些,當(dāng)時是自己在這兩個方法上加了下緩存....

        引用來自“王翦小寶寶”的評論

        點擊此處輸入評論
        點擊此處輸入評論
      • 開源狂人
        開源狂人 發(fā)表于 2014-10-08 09:53

        引用來自“指隙陽光”的評論

        其實趕腳spring的這套實現(xiàn)里面,有個loadUserXXX還有個loadClientXXX在一次請求里面被調(diào)用了無數(shù)次,每次都查庫,當(dāng)時看的相當(dāng)崩潰.... 沒試過開啟這套實現(xiàn)的認(rèn)證緩存之后會不會好些,當(dāng)時是自己在這兩個方法上加了下緩存....

        引用來自“王翦小寶寶”的評論

        點擊此處輸入評論

        引用來自“王翦小寶寶”的評論

        點擊此處輸入評論
        該用戶評論已被刪除
      • samfisher
        samfisher 發(fā)表于 2014-10-08 10:08
        有學(xué)習(xí)這么復(fù)雜配置的時間,看一下 Oauth2協(xié)議,httpclient直接搞定了, spring 現(xiàn)在走上當(dāng)年J2EE的邪路了,覺得自己什么都能干,越來越復(fù)雜,與其學(xué)習(xí)這么復(fù)雜的 XML,Annotation 配置,我不如去學(xué)習(xí)一門新的語言,比如Rust, Ceylon
      • 冰力
        冰力 發(fā)表于 2014-10-08 10:56
        臃腫的語言又作惡了。。。
      • hanzhankang
        hanzhankang 發(fā)表于 2014-10-08 11:45
        自己實現(xiàn)不好嗎/?
      • loyal
        loyal 發(fā)表于 2014-10-08 12:47

        引用來自“samfisher”的評論

        有學(xué)習(xí)這么復(fù)雜配置的時間,看一下 Oauth2協(xié)議,httpclient直接搞定了, spring 現(xiàn)在走上當(dāng)年J2EE的邪路了,覺得自己什么都能干,越來越復(fù)雜,與其學(xué)習(xí)這么復(fù)雜的 XML,Annotation 配置,我不如去學(xué)習(xí)一門新的語言,比如Rust, Ceylon
      • 凡行
        凡行 發(fā)表于 2014-10-08 12:50
        做好ioc和aop就好……
      • 小強哥unas
        小強哥unas 發(fā)表于 2014-10-08 13:04

        引用來自“samfisher”的評論

        有學(xué)習(xí)這么復(fù)雜配置的時間,看一下 Oauth2協(xié)議,httpclient直接搞定了, spring 現(xiàn)在走上當(dāng)年J2EE的邪路了,覺得自己什么都能干,越來越復(fù)雜,與其學(xué)習(xí)這么復(fù)雜的 XML,Annotation 配置,我不如去學(xué)習(xí)一門新的語言,比如Rust, Ceylon

        引用來自“l(fā)oyal”的評論

        的確,我看了怎么負(fù)責(zé)的東西,覺得暈了。還是自己實現(xiàn)的好
      • 雙城記
        雙城記 發(fā)表于 2014-10-08 16:18
        一個oauth2,直接httpclient就能完事,又是factory、又是handler、又是xml,OOP玩到走火入魔了吧?
      • getchoco
        getchoco 發(fā)表于 2014-10-08 16:42
        我用apache oltu,感覺比spring的這個簡單多了。。。
      • 開源小蜜
        開源小蜜 發(fā)表于 2014-10-10 10:14
        OAuth2的原理還是要好好理一理 忘光了
      • halo26812
        halo26812 發(fā)表于 2014-10-11 17:32
        配置很復(fù)雜,shiro要簡單一點

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多