繁体   English   中英

什么是验证方法访问权限的最优雅方法(C#.Net)

[英]What's the most elegant way to verify access rights on a method (C#.Net)

我有一个内置于WCF(C#.Net)的WebService,它包含许多方法。 在每个方法上,我都不想验证当前用户是否可以访问此特定操作。

现在,我有这样的事情:

    public MyContract MyMethod(int MyParameter)
    {
        ValidateAccess(MyCurrentIdentityInfo, ActionEnum);

        // Do stuff here...
    }
    public void MyMethod2(int MyParameter)
    {
        ValidateAccess(MyCurrentIdentityInfo, ActionEnum);

        // Do stuff here...
    }
    etc...

您会注意到我在开始时调用方法来检查访问权限,然后执行我需要的代码。 这段代码工作正常,但我必须在我的服务中的每个方法上调用此方法,我发现它并不漂亮。

是否有更优雅的方式来实现我想要做的事情? 我尝试使用自定义属性但没有成功。

请注意, 我不是要尝试在WebService本身上对用户进行身份验证 在上面的例子中,用户在WebService上是有效的。 但是我想运行一个自定义代码来检查他是否可以调用一个删除记录的方法。

您可以考虑使用Castle Dynamic Proxy在已记录用户上注入操作验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM