在我们的 MVC 项目中,我们试图使一切尽可能通用。
因此,我们希望拥有一个涵盖我们所有方法的身份验证类/方法。
例如:以下代码是一个 MVC 类,可以从客户端调用
public class Test
{
public void Test()
{
}
public int Test2(int i)
{
return i
}
public void Test3(string i)
{
}
}
我们 Web 服务的客户可以使用服务引用来访问 Test()、Test2() 和 Test3()。
现在我正在寻找一个类、模型、接口或任何其他我可以用来改变对方法的访问(当前使用[PrincipalPermission]
属性)以及改变参数值的东西。
例子:
客户 A 来电Test2(150)
类/方法检查客户 A 是否有权访问Test2
. 类/方法验证用户,但注意到用户无权访问150
. 他只能访问100
. 所以类/方法将参数设置为100
并让它跟随它的旅程。
客户 B 级Test()
类/方法检查客户 B 是否有权访问Test
. 验证后显示用户无权访问,因此引发 SecurityException。
我的问题:
在什么类、接口、属性或任何东西中我能最好地做到这一点?
(ps。作为示例,我只使用了身份验证和参数处理,但我们计划在这个阶段做更多的事情。)
编辑
我注意到大多数(如果不是全部)假设我正在使用 actionResults。所以我想声明这是在一个网络服务中使用的,我们为我们的客户提供来自我们数据库的信息。在向我们的 Web 服务发出请求期间,我们绝不会接触到 ActionResult。(至少,不是我们的客户)