关于如何使用 MVC asp.net 进行身份验证/授权,我有几个问题。
我有一堆 WCF 服务,通过在每个请求上传递用户名和密码来验证/授权用户(我使用 HttpModule 进行验证,并在 WCF 中捕获 Authenticating 事件)。它使用该 HttpModule 中的 aspnet 成员身份来验证用户并设置 Principal 以便我可以在我的服务中拥有角色(这些服务共享给我们的各种客户,所以我需要保持它的工作方式)。
现在我想创建一个能够调用这些服务的 MVC 项目,但我不想在会话中保存用户名和密码并将其传递给每个请求。
如果有人可以帮助我,我有一个场景中有一些空白!
我在 WCF 服务层上打开了 WCF 提供的 AuthenticationService。
在我的 MVC 项目中,我添加了表单身份验证,并使用 authorize 属性装饰了我的方法,如果我没有被授权,它将重定向到登录页面。
在登录页面中,当用户提供他/她的用户名和密码时,我调用 WCF AuthenticationService 来登录我的用户。然后我从中检索身份验证令牌并将其存储在我的会话中。
下次我想在我的服务层上调用 WCF 服务时,我检索此令牌并将其添加到我的请求的标头中。
在服务端验证我的用户的 HttpModule 上,我检查它是否是有效的令牌,或者它是否是有效的用户名或密码(以方便其他人调用这些 Web 服务)。
如果是,它接受请求并返回正确的数据。
这似乎是解决这个问题的正确方法吗?
非常感谢任何帮助..:/提前致谢!尼尔