2015-04-02 6 views
3

Я внедряю webapp используя CefSharp, который работает нормально. Однако при входе в приложение CEF не предлагает запомнить имя пользователя и пароль, как при открытии приложения в обычном Chrome.cefsharp app помнить пароль вариант

Есть ли способ в CefSharp, чтобы заставить cef просить запомнить имена пользователей/пароль, чтобы при возобновлении работы приложения они могли быстрее выполнять вход?

Я попытался использовать некоторые аргументы командной строки, например.

CefSettings cs = new CefSettings(); 
cs.CefCommandLineArgs.Add("enable-automatic-password-saving", "enable-automatic-password-saving"); 
cs.CefCommandLineArgs.Add("enable-password-save-in-page-navigation", "enable-password-save-in-page-navigation"); 
Cef.Initialize(cs); 

, но до сих пор cef не побудил меня сохранить имя пользователя и пароль.

ответ

2

CefSharp не поддерживает помнить пароль. Я не считаю, что CEF делает это, хотя, вероятно, стоит задать http://magpcss.org/ceforum/ для окончательного ответа (в API для текущей версии нет ссылки).

Я также хочу указать, что, если явно не указано, CEF будет использовать хранилище в хранилище в памяти, поэтому cookie сеанса не будет сохранен. Вам необходимо указать CefSettings.CachePath, чтобы сохранить файлы cookie (и другие данные, доступные в кэше).

+0

Спасибо за ответ. Я нашел параметр CachePath для файлов cookie, но я надеялся, что у commandLineArgs будут какие-то опции, позволяющие использовать функцию запоминания пароля. – SteveP

+0

'CEF' не обольщает, когда дело доходит до такого рода вещей, нет диспетчера загрузки. Я предполагаю, что некоторые из этих функций не являются частью основного проекта Chromium с открытым исходным кодом. Если вы еще этого не знаете, вероятно, стоит поинтересоваться «ceforum», посмотрите, есть ли у кого-нибудь указатели. – amaitland

2

У меня была такая же проблема, и я разрешил ее, введя javascript из события FrameLoadEnd. Что-то вроде:

void wb_FrameLoadEnd(object sender, FrameLoadEndEventArgs e) 
{ 
    if (e.Url.Equals(@"https://yyy.zzz.com/")) 
    { 
    var wb = sender as ChromiumWebBrowser; 
    wb.EvaluateScriptAsync 
     (@"document.querySelector('input#username').value='steve';"); 
    } 
} 
+0

Это хорошая идея, если я хочу по умолчанию указать имя пользователя и т. Д. Однако я хочу, чтобы браузер помнил пароль, поскольку разные пользователи будут использовать приложение, и я не всегда могу контролировать отображаемый HTML (он может исходить из сторонние сайты). – SteveP

Смежные вопросы