himetani's blog

備忘録など。

AngularJSとExpressを使って、簡単な認証機能を実装その1

AngularJSとExpressを使って認証機能を作っているので、その作業過程を書く。

そもそも、認証を実装するときにどうすればいいかわからないので整理。

認証の方式
  • セッションIDを使う
  • HTTP認証(Basic認証、ダイジェスト認証)
  • SSLクライアント認証

今回は、もっとも一般的だと思うセッションIDによる管理を実装する。

クライアントサイドでセッションを管理する方法は、三つあるようだ。

  • cookie
  • POSTのhiddenパラメータ
  • URL
ルーティング

AngularJSのようなSPAでアプリケーションを作ると、ルーティングもフロントエンドで行っているので、認証もフロントエンドで行う必要がある。

詳しくは以下のリンクを参照。
VickeV.com

AngularJSでは、サーバからのHTTPレスポンスを受け取ったときの動作を設定することで認証機能を実装することができる。

gist.github.com


AngularJSの設定の中で、$httpProvider.interceptorを設定すればよい(10行目から20行目)。

この設定をしておくと、HTTPレスポンスを受け取ったときに401であれば自動的にログインページに遷移させることができる。

参考
https://www.ipa.go.jp/security/vuln/event/documents/20060228_3.pdf

雑多なメモ

centos に java1.8をインストール。
yumで入れると、古いバージョンが入ってしまうため、rpmでインストールする。

$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.rpm  
$ sudo -ivh jdk-8u25-linux-x64.rpm

現在利用しているシェルの確認

$ echo $0

Vagrantでよく使うコマンド

# 登録しているboxイメージの確認
$ vagrant box 
# 仮想サーバの立ち上げ
$ vagrant init boxname  
$ vagrant up  
# 仮想サーバの状態の確認  
$ vagrant status (仮想サーバ名)

vim最新版のインストール(NeoBundleを使うことを想定して)

#依存パッケージのインストール  
$ sudo yum install ncurses-devel 
$ sudo yum install lua-devel  
   
$ hg clone https://vim.googlecode.com/hg/ vim  
$ cd vim/src
# luaを有効にする
$ sudo ./configure --enable-multibyte --with-features=huge \  
 --disable-selinux --prefix=/usr/local \  
 --enable-luainterp=yes --with-lua-prefix=/usr  
$ sudo make && sudo make install  

JavaScriptで決定木を作って、D3.jsで可視化してみた

(研究テーマとは全く関係ないけど)最近、機械学習の不均衡データをどうやって取り扱うべきかという論文を読みました。

その論文では、分類器に決定木を使ったものが取り扱われていました。

そこで、自分で決定木を実装してみようと思い立って作ってみました。

自分の中ではプログラミングの訓練という位置付けなので、Rは使わずにコード書きました。

そんで、どうせならと思ってブラウザ上で可視化してみました。

続きを読む