我需要使用来自.net核心剃须刀页面模型应用程序的具有基本身份验证的静态Web服务。
这都是旧项目的一部分,需要新UI才能使用某些新组件,并且以前曾经拥有Webforms UI。
我设置了一个自定义用户管理器和一个自定义用户存储。我可以使用我重写的方法调用restful方法,然后我就可以成功登录。
但是,我需要在每个PageModel中都具有用户名和密码,并且登录后我不知道如何获取密码。
例如,当用户转到索引页面时,我需要从服务中检索一些内容
var client = new RestClient(ConfigurationManager.AppSettings["cslLink"] +
"/BusinessEntityService.svc/GetMainItemGridView");
var request = new RestRequest(Method.GET);
client.Authenticator = new HttpBasicAuthenticator(User.Identity.Name, "hardcodedpassword");
IRestResponse response = client.Execute(request);
JsonArrayGridViewDataSOurce = response.Content;
我可以获取用户名,但不能获取密码。
有什么办法可以获取密码?
还有另一种方法可以做到这一点吗?
如有必要,我可以修改服务,但必须以最少的修改次数尽快完成服务。
答案 0 :(得分:0)
不。无法检索密码。它存储为单向加密和加盐哈希。即使您可以得到它,也对您没有任何好处,因为它不再是“密码”。登录时,输入的密码同样会被加盐和散列,然后与数据库中的密码进行简单比较。只能通过比较两个哈希值来验证密码,而不是比较用户输入的文字密码。