Customizing SimpleMembershipProvider

本文关键字:SimpleMembershipProvider Customizing | 更新日期: 2023-09-27 18:27:01

是否可以自定义SimpleMembershipProvider,因为登录时需要的不仅仅是用户名和密码?

例如,假设我想要4条信息:

Login, Password, Abc, Xyz
(Abc and Xyz are just generic placeholders, for now)
Suppose your login is: 
john/mypassword555/1/1 (authenticated) -> pagex
john/mypassword999/1/2 (authenticated) -> pagey
bob/mypassword333/1/1 (authenticated) -> pagex
bob/mypassword333/1/2 (authenticated) ->pagey
bob/mypassword333/1/3 (authenticated) -> pagez

只有john/mypassword或bob/mypassword333是不够的。

我希望所有登录都能使用相同的密码或不同的密码,但在Request.IsAuthenticated为true之前仍然需要所有4个字段。

Customizing SimpleMembershipProvider

我不确定这是否是你的意思,但是:

如果您需要数据A、B和C加上密码才能登录,您可以将A、B、C存储到对象结构中,将该对象序列化为字符串,并将该字符串作为"登录"和密码一起传递给您的自定义成员资格提供程序,然后将对象反序列化回其各个部分。在这一点上,您可以在自定义提供程序中执行任何您想要的操作。

一个简单的方法是只使用内置的成员资格提供程序,一旦他们登录,就将他们带到另一个页面,在那里他们将输入附加信息。

当他们输入附加信息时,您可以设置一个会话/Cookie,您将使用自定义授权过滤器进行检查。

通过这种方式,您可以确保在Request.IsAuthenticated计算为true之前提供了所有4个字段。

相关文章:
  • 没有找到相关文章