我尝试用abp页面打开一个新的winForm。我的用户已经通过ABP LogInManger登录应用程序并存储了我的登录结果。
因此,当我使用webBrowser组件打开新表单时,我尝试传递的登录名不起作用。
要登录我尝试:
有什么想法解决这个问题?
我写了一个简单的案例和有关我的解决方案的更多细节: - WinForm .Net 4.6.1 - 基于AbpBolierplate的Web应用程序4.6.1
我们将从旧的.Net解决方案创建移植并添加一些新功能。关于新功能,UI在Abp Web上,而不在WinForm上,因此为了允许用户使用这个新功能,我们打开webBrowser嵌入(或不嵌入),我们尝试通过令牌进行身份验证。 就在今天,我们与其他同事交谈,解决方案可以这样做:
答案 0 :(得分:0)
这个问题没有简短而正确的答案。我将尝试为您提供解决方案的大纲;
你没有提到你是使用MVC还是Angular!但如果你使用角度更容易。只需在WinForm中创建一个RestApi客户端。使用Http Post对网站进行身份验证,以“api / TokenAuth / Authenticate”。存储令牌并在其到期之前刷新它。
将Application Services用作WebApi端点。为每个请求添加身份验证标头(例如:bearer xxxxxxx_token_xxxxx)。
如果您正在使用MVC,那么您可以创建自己的WebApi来进行身份验证并使用所需的服务。
长话短说;使用WebBrowser来验证和使用aspnetboiler网站并不是一种方便的方法,因为你必须处理cookie。最佳实践是将WebApi用于您的用例。