पर" सुरक्षा कॉन्टेक्स्ट में एक टोकन नहीं मिला "मैंने लॉगिन तंत्र के साथ एक सिलेक्स प्रोजेक्ट बनाया।"सिलेक्स/सिम्फनी
एक Symfony विशेषज्ञ होने के नाते नहीं, मैं सख्ती से प्रमाणीकरण प्रक्रिया के लिए दिशा निर्देश यहाँ का पालन किया: http://silex.sensiolabs.org/doc/providers/security.html
... और यह मेरे विकास के वातावरण पर ठीक काम करता है
हालांकि, जब मैं पर मेरी परियोजना धक्का दे दिया मेरी उत्पादन सर्वर, मैं निम्न त्रुटि हर बार मैं अपने वेब एप्लिकेशन
[2012-12-18 16:35:33] CRITICAL: Symfony\Component\Security\Core\Exception\AuthenticationCredentialsNotFoundException:
A Token was not found in the SecurityContext. (uncaught exception) at
/my/app/path/vendor/symfony/security/Symfony/Component/Security/Http/Firewall/AccessListener.php line 53 [] []
जिसका मतलब है में प्रवेश करने की कोशिश पाने कि AccessListener.php
में निम्न कोड$this->context->getToken());
एक expection
तथ्य यह है कि एक ही कोड मेरे विकास के वातावरण पर पूरी तरह से ठीक काम करता है को देखते हुए फेंकता है, मुझे लगता है कि यह मेरे उत्पादन सर्वर विन्यास के साथ कुछ है।
मैं इस सूत्र http://groups.google.com/forum/#!msg/symfony-devs/jKphNy_0Q2Y/vYfkAuyjSHEJ कोई परिणाम के साथ अपने प्रोजेक्ट की .htaccess
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
में निम्न पंक्ति जोड़ने के लिए पता चलता है कि पाया। मुझे अभी भी "सुरक्षा टोकन्टेक्स्ट में एक टोकन नहीं मिला" अपवाद मिलता है।
क्या किसी के पास कोई विचार है?
संपादित $app['security.firewalls']
की सामग्री पीछा कर रहा है
$app->register(new Silex\Provider\SecurityServiceProvider(), array(
'security.firewalls' => array(
'login' => array(
'pattern' => '^/login$'
),
'admin' => array(
'pattern' => '^/',
'form' => array('login_path' => '/login', 'check_path' => '/admin/login_check'),
'logout' => array('logout_path' => '/admin/logout'), // url to call for logging out
'users' => array(
'admin' => array('ROLE_ADMIN', 'SOMEPASSWORD'),
),
)
)
));
क्या आप '$ ऐप ['security.firewalls'] 'सरणी की सेटिंग्स पोस्ट कर सकते हैं? –
@ m2mdas: मैंने इसे – benoit
से ऊपर शामिल किया है 'लॉगिन' फ़ायरवॉल सरणी में 'अनाम' => सत्य, 'जोड़ने का प्रयास करें। –