在ASP.NET中创建网站用户
本文关键字:网站 用户 创建 ASP NET | 更新日期: 2023-09-27 18:04:23
我有一个主网站托管在一个服务器和另一个辅助网站,主的子域,在另一个服务器上。我已经实现了跨站点的单点登录,这样当用户登录到主站点时,他也会自动登录到辅助站点;这只适用于如果用户存在作为一个帐户在两个网站(他们是不同的系统,但都ASP。. NET网站使用表单认证)。
我需要更改主站点上的认证例程,以呼叫次要站点,传递用户名。如果该用户在二级网站上不存在,则使用该用户名创建帐户。请注意,备站点不需要密码,因为用户只能通过主站点登录。
那么,我的问题是:实现上述目标的最佳方法是什么?我不认为我可以简单地加密主站上的用户名并将其发送过来,在辅助站点上解密它(两个站点都有相同的机器密钥),因为它很容易被"欺骗",所以大概必须有某种方式传递令牌,辅助网站可以使用它来验证请求来自主站。是否有办法使用cookie来存储用户名的加密版本?如果是这样,我该如何做到这一点,它是不是比带有适当查询字符串参数的URL更好的方法?
这一定是一个相当常见的场景,但我找不到任何关于如何做我需要做的事情的明确指南(最佳实践)-任何建议都是非常欢迎的。
我现在的任务是通过web服务来提供用户创建。这意味着它应该更容易一点,因为我不需要将用户重定向到我网站上的页面;相反,我只需要为创建用户的请求提供服务。
为了保护要创建的用户的详细信息,我认为我只需要使用HTTPS,但基于我之前所说的,我认为我也可以使用机器密钥加密。我的下一个问题是,我的客户端应该如何将参数传递给我的web服务?我应该使用加密参数还是应该在请求头中嵌入参数?
使用草案中描述的Oauth协议这是Dotnet的实现Oauth dotnet库