65.9K
CodeProject 正在变化。 阅读更多。
Home

根据登录用户进行动态验证

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.37/5 (16投票s)

2008年10月9日

CPOL

3分钟阅读

viewsIcon

48824

根据登录用户进行动态验证

引言

很多时候,我们希望某些用户触发一组特定的验证,而另一些用户触发另一组特定的验证。在本节中,我们将看到如何使用 Microsoft 企业验证块来实现这一点。

其他应用程序块

  • 验证应用程序块:本文解释了使用 VAB 进行验证所需的 16 个步骤。
  • 客户端验证:VAB 的一个缺点是它只进行服务器端验证。本文讨论了如何利用 VAB 进行客户端验证。
  • 策略应用程序块:本文讨论了如何使用策略应用程序块实现即插即用机制。
  • 日志记录应用程序块:本文解释了如何使用日志记录应用程序块的 5 个基本步骤。
  • 数据应用程序:本文讨论了实现数据应用程序块所需的四个步骤。
  • 异常应用程序块:此应用程序讨论了如何使用异常应用程序块从项目中记录异常。
  • Unity 应用程序块:此应用程序讨论了 DI 和 IOC 中的 Unity 应用程序块。
  • UIP 块:本文讨论了使用 Microsoft UIP 块为 Windows 和 Web 实现可重用导航和工作流。

问题

有时您希望根据登录用户或客户进行验证。例如,在下图中,您可以看到我们希望对两个用户进行不同的验证。对于一个用户,我们希望客户代码至少为 2 个字符,而对于另一个用户,我们希望它为 5 个字符。

图:登录用户

解决方案

企业库帮助我们像变魔术一样解决这个问题。要理解本文,您需要先阅读有关如何使用 VAB(验证应用程序块)实现验证的基础知识。如果您不了解基础知识,您可以从我之前的文章这里阅读。

根据登录用户触发验证是一个两步过程。

步骤 1

首先,您需要根据客户定义两个不同的规则集。例如,在下图中,您可以看到我们定义了两个验证。第一个验证检查客户代码是否至少为两个字符,而第二个验证检查客户代码是否为五个字符。

第二步

在步骤 2 中,我们只需要使用“Validationstatic 类根据登录的用户调用验证。validation static 类的 validate 函数有两个参数,一个是客户对象,另一个是规则名称。因此,您可以根据登录的客户动态触发规则。

历史

  • 已更新其他应用程序块的链接

要进一步阅读,请观看下面的面试准备视频和逐步视频系列。

© . All rights reserved.