Spring Security

@Log4j2
public class MyAuthenticationFilter extends UsernamePasswordAuthenticationFilter {
    @Override
    public Authentication attemptAuthentication(HttpServletRequest request, HttpServletResponse response) {
        
        String username = obtainUsername(request);  
        String password = obtainPassword(request);
        log.info("loginfilter: "+username+" "+password);
        
        // トークンの作成
        final UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(
                username, password);
        // Allow subclasses to set the "details" property
        setDetails(request, authRequest);
        
        return this.getAuthenticationManager().authenticate(authRequest);      //nullが返ってる
        }
        
        @Autowired
        public void setAuthenticationManager(AuthenticationManager authenticationManager) {
            super.setAuthenticationManager(authenticationManager);
        }
        
}

http://wannabe-jellyfish.hatenablog.com/entry/2018/01/10/013508 https://teratail.com/questions/94735

https://teratail.com/questions/95922

https://fueiseix.hatenablog.com/entry/2018/03/11/191200

https://terasolunaorg.github.io/guideline/5.1.0.RELEASE/ja/Security/Authentication.html

https://terasolunaorg.github.io/guideline/public_review/Security/Authentication.html#usernamepasswordauthenticationtoken

https://github.com/spring-projects/spring-security/blob/master/web/src/main/java/org/springframework/security/web/authentication/UsernamePasswordAuthenticationFilter.java

https://github.com/spring-projects/spring-security/blob/master/core/src/main/java/org/springframework/security/authentication/UsernamePasswordAuthenticationToken.java

https://github.com/spring-projects/spring-security/blob/master/core/src/main/java/org/springframework/security/authentication/AbstractAuthenticationToken.java

作成中...

spring1.4.7 -> 2.1.0 springsecurityログイン画面の実装

springboot 1.4を使っていて、新規で作った2.1のプロジェクトにコピーして実行したらいろいろ怒られた

Hibernateも変わってるみたい

thymeleaf3つかいたいだけだったのに。。。

ServletInitializer.java

//前の

//import org.springframework.boot.web.support.SpringBootServletInitializer;

//今の

import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

resouces配下にhibernate.propertiesを配置

LoginUserDetailsService

@Override

    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {

        Optional<User> user = userRepository.findById(username);

         if (!user.isPresent()) {

           throw new UsernameNotFoundException("The requested user is not found.");

        }

         return new LoginUserDetails(user.get());

    }

Optionalなんてつかったことなかった

Java 文字列→日付変換

JasperReportsで Apr 27,2017 に出力しようとしたらえらいはまった話。

JasperStudio上だと何故か出なかったので、Java側で文字列として渡そうとして..............

ちゃんとエラーを吐き出して確認しなきゃいけなかった。

Locale.US を指定しないと yyyyMMdd の文字列は  MMM dd,yyyy に parse 出来ないのと、

Locale.US の時は MMM dd,yyyy の文字列じゃないと yyyyMMdd にparse 出来なかった ので

yyyyMMdd の文字列を MMM dd,yyyy の文字列に直したいときは、

Locale.JAPAN でDate型に直してから、 Locale.USでformat してあげないといけなかったね、という事

private static void convert_date(){

SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy",java.util.Locale.US);

Date now = new java.util.Date();

String date_to_string = sdf.format(now);

PRINT(date_to_string);

String string_to_date ="";

SimpleDateFormat sdf_j = new SimpleDateFormat("YYYYMMDD",java.util.Locale.JAPAN);

try{

Date tmpDate = sdf_j.parse("20170101");

string_to_date = sdf.format(tmpDate);

}catch(ParseException err){

PRINT(err.toString());

}

PRINT(string_to_date);

/*

Apr 27,2017

Jan 01,2017

ビルド成功(合計時間: 0秒)

*/

}

つらい

portabook 買いました

変態変形デバイス

使い心地は良好です

トラックポイントがついてるのが最高に良い・・・

一部挙動が変なとことかあるけど、こういうのってドライバ更新されてくのかなあとふと疑問に

【忘備録】WordPress GPLの話

GPLに関して資料を漁ってたら、知りたい事がクリティカルにわかるサイトがあったのでメモ

http://nskw-style.com/2015/wordpress/gpl-premium-theme-plugin-in-community.html

この辺は補助資料

http://www.catch.jp/oss-license/faq/#GPL-2

https://www.gnu.org/licenses/gpl-faq.ja.html

サイトの議題は、

有料テンプレートで再配布制限してるのってGPL違反じゃないのーって話から始まってます

WordPressGPLライセンスで公開されている

GPLは再配布自由で、ソースコード公開の義務がある

ソースコードに手を加えて、再配布するソフトはGPLが適用される(→GPL汚染)

WordPress

PHP,Javascript,CSS,画像

などなどから構成されてるけど

自動的にGPLが適用されるのはPHPだけ

(テーマで使用するPHPは、WordPressで使われているソースを使用/依存しているから

他はWordPressが無くても動く)

ので

JS,CSS,画像はGPLじゃないので、

再配布に制限を掛けても違反じゃないんだよー

っていうことらしい

と、いうことで知りたかったことをまとめておくと

---------------------------------------------------------

GPLライセンスの再配布は、課金しても大丈夫(もらった人の自由に出来る)

GPLライセンスを使用した(独立してない)プログラムは(配布したら)GPLライセンス

GPLライセンスソースコードの公開が必要

---------------------------------------------------------

大筋は有ってるんじゃないかなーと思う

ソース公開出来ないパターンがあった場合は、

GPLのソースを使わないで開発

個人(会社内部)でのみ使用

なのかなあ?請負だとどうしてるのかな

とか思ってたらこんなのがあった

http://www.catch.jp/oss-license/

(リンクの説明)

http://www.atmarkit.co.jp/ait/articles/1105/27/news111.html

WEBはセーフ