मैं में उपयोगकर्ता खाते के लिए एक्सेस टोकन प्राप्त करने के लिए LogonUser(...)
का उपयोग करने का प्रयास कर रहा हूं।लॉगऑनसर (...) डोमेन खातों के लिए क्यों नहीं काम करता है?
// Call LogonUser to obtain a handle to an access token.
bool returnValue = LogonUser(userName, domainName, Console.ReadLine(),
LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT,
out safeTokenHandle);
जब मैं नमूना (प्रशासक विशेषाधिकारों के साथ) चलाने यह ठीक काम करता है जब .
की एक डोमेन और एक स्थानीय उपयोगकर्ता खाता नाम और पासवर्ड दिया है, लेकिन कोई बात नहीं मैं मैं त्रुटि कोड 1326 (लॉग ऑन विफल हो क्या करना : अज्ञात उपयोगकर्ता नाम या खराब पासवर्ड) यदि मैं किसी डोमेन खाते का उपयोग करने का प्रयास करता हूं। यदि मैं डोमेन के लिए कचरा दर्ज करता हूं तो मुझे वही परिणाम मिलता है, जो मुझे आश्चर्यचकित करता है कि यह वास्तव में डीसी से संपर्क कर रहा है या नहीं।
काम करने से इसे रोकना क्या हो सकता है?
दुर्भाग्यवश दुर्भाग्य से चीजों के समूह के कारण हो सकता है। क्या मशीन डोमेन से जुड़ी है? क्या डोमेन उपयोगकर्ता को उस मशीन पर लॉग इन करने की अनुमति है? क्या DNS सेटिंग्स सही तरीके से कॉन्फ़िगर की गई हैं? (मैंने एक साइट्रिक्स आलेख देखा जो सुझाव दिया कि यह एक मुद्दा हो सकता है।)। निम्न आलेख में कुछ जानकारी है जब आप डोमेन के लिए कचरा दर्ज करते हैं - https://groups.google.com/group/microsoft.public.dotnet.languages.csharp/msg/dccfbf8b76120401?pli=1 –
क्या आपके पास है मान्य है कि यह कंसोल के बिना काम करता है। रीडलाइन() कॉल (उदाहरण के लिए सीधे एक स्ट्रिंग के रूप में पासवर्ड की आपूर्ति)? –
यह कोई फर्क नहीं पड़ता कि पासवर्ड कहां से आता है - यह एक स्ट्रिंग है जब इसे 'लॉगऑनसर' में पास किया जाता है। – GraemeF