3

Lithium php フレームワークを使用して RESTful アプリを作成しましたが、問題はそれを保護する方法です。

リチウム フレームワークを使用する OAUTH または HTTP ダイジェスト認証用の既存のコードはありますか?

4

2 に答える 2

2

質問を編集して、実際に具体的な質問をしていただきありがとうございます。以下を参照してください。

于 2012-12-11T04:18:17.963 に答える
2

あなたが探しているセキュリティの種類はわかりませんが...

Lithium にはセキュリティが組み込まれています。次の 2 つの短いチュートリアルを参照してください。

基本は「簡易認証」チュートリアルで説明されています...必要なものは次のとおりです。

  • ユーザーを追跡するためのデータベース
  • ブートストラップAuth経由config/bootstrap.php
  • セッションと認証アダプターのセットアップ

次に、フォームを介して認証を行うか、他の方法で認証を行うかによって異なります。

チュートリアルでは、フォームのセットアップ方法を説明しますが、config/routes.phpファイルを介して要求されているルート (url) を次のように「保護」することもできます ...

<?php

use lithium\net\http\Router;
use lithium\core\Environment;

use lithium\security\Auth;

// check if the user is logged in
$user = Auth::check('default'); 

// these routes are not behind a login
Router::connect('/login', 'Sessions::add');
Router::connect('/logout', 'Sessions::delete');

if ($user && $user["user"] == "admin") {

    // these two routes will only work if a user is authenticated.
    Router::connect('/{:controller}/{:action}/{:args}.{:type}');
    Router::connect('/{:controller}/{:action}/{:args}');
}

// redirect the user to a login if no other routes match
Router::connect('/{:args}', array(), function($request) { header('Location: /login/url/'.str_replace('/','*',$request->url)); exit; });

?>
于 2012-12-08T01:17:16.993 に答える