2014-01-15 52 views
0

我有以下情形:我在模式「/ register」下有一個我的域的安全區域,爲此我將一個名爲「註冊人」的固定用戶與唯一角色USER_REGISTRANT。相關security.yml部分是:使用標準Symfony2安全性的無形式身份驗證

providers: 
    in_memory: 
     memory: 
      users: 
       registrant: { password: registrant, roles: 'REGISTERING_USER' } 

firewalls: 
    register: 
     pattern: ^/register/.* 
     anonymous: false 
     form_login: 
      login_path: /register/initiate_registration 
      check_path: /register/start_registration 

我的目標如下:當用戶試圖進入「/註冊」的安全性方面,她應該自動認證爲用戶「註冊」,沒有任何形式的交互或其他用戶方認證步驟。

我想在Symfony2中使用標準的表單登錄機制來實現這一點,即當用戶被髮送到login_path時,系統應該簡單地生成必要的標記/表單數據並將其傳遞給check_path,就像如果用戶填寫了表單並提交了,則完成。

邏輯的大綱應該是這樣的:

/** 
* @Route("/register/initiate_registration", name="initiate_registration") 
*/ 
public function startAction() { 

    // TODO: Generate form data etc here 

    return $this->redirect($this->generateUrl('start_registration')); 
} 

應在login_path控制器採取以哪些步驟來獲得上述功能所需?

回答

1

這份文件是否適用於您security

+0

我已經閱讀過文檔,但很不幸地沒有解決(據我所知)我想在這裏做什麼。 – csvan

+1

是你需要的嗎? [如何以編程方式登錄/驗證用戶?](http://stackoverflow.com/questions/9550079/how-to-programmatically-login-authenticate-a-user) –

+0

這是我目前使用的解決方案,但我我想純粹使用form-mechanics,即我不想設置任何標記或在控制器中手動訪問安全上下文。 – csvan