1

是否可以自定义 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 为真之前仍需要所有 4 个字段。

4

2 回答 2

0

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

如果您需要数据 A、B 和 C 以及密码来登录,您可以将 A、B 和 C 存储到一个对象结构中,将该对象序列化为一个字符串,并将该字符串作为“登录”传递给您的自定义成员资格提供程序"连同密码,然后将对象反序列化回其部分。那时,您可以在自定义提供程序中做任何您想做的事情。

于 2013-08-09T22:29:06.493 回答
0

一种简单的方法是仅使用内置的会员资格提供程序,一旦他们登录,将他们带到另一个页面,他们将在其中输入其他信息。

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

这样,您可以确保在 Request.IsAuthenticated 评估为 true 之前已提供所有 4 个字段。

于 2013-08-09T23:05:04.150 回答