在C#.NET 4.0 Winforms应用程序中,我想使用this article建议的AuthorizeActivity
属性。
不使用第三方框架,以下语义可能吗?
public class SomeClass
{
[AuthorizeActivity]
public void SomeMethodThatRequiresAuthorization()
{
// Decide to DoWork or not (maybe throw) based on current user
}
}
我知道如何使用反射来获取类,方法/属性,但我不确定如何在任何给定用户尝试执行此方法时如何使用该属性实际运行验证代码...我我想我可能不得不“拦截”这个方法,但我找不到一个C#的例子,说明如何在不使用第三方框架的情况下做这个或任何事情。
目前我能想到的最好的方法是添加一个IAuthorizationManager
接口属性,然后使用Reflection注入对我的应用启动的依赖。