2012-12-07 108 views
2

我已經創建了一個使用鋰php框架的RESTful應用程序,現在我的問題是如何保護它?如何保護鋰電池RESTful API?

是否有任何現有的OAUTH或HTTP Digest驗證代碼使用鋰框架?

+0

這是什麼意思,甚至?什麼樣的安全性? Cookies,API令牌,授權,訪問控制?鋰是一個框架,它提供了工具和結構,但是(出於需要)假定你是一個知道如何編寫軟件的程序員。對不起,這個問題沒有意義。 –

+0

對不起,如果它不清楚,但我提到REST應用程序,它意味着Oauth或Http摘要式身份驗證。我想知道是否有任何現有的OAuth或摘要身份驗證代碼在鋰? –

回答

2

雖然我不知道你在找什麼樣的安全的...

有內置的安全鋰電池,你可以看到兩個簡短教程讓你去這裏:

的基本信息在 「簡單身份驗證」 的教程......你需要:

  • 來跟蹤你的用戶
  • 引導Auth通過
  • 設置會話&驗證適配器

那就要看,如果你要通過形式做authenticaion數據庫,或通過其他方法。

的turtorials將告訴你如何建立一個形式,但是你也可以「安全」的路徑(網址),正在通過config/routes.php文件像這樣要求...

<?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; }); 

?>