我想创建一个用户系统,每个用户都有角色/权限。我希望使用反射自动生成可配置权限列表。代码将扫描所有程序集,查找定义用户需要具有执行权限的模块(类)或功能(函数)的权限和描述的属性。
现在 GUI 当然不应该显示或禁用不允许用户做的事情。但我想确保它被选中,允许用户在执行某个功能/模块时自动执行它。
因此,每当一个 GUI 组件因错误而启用时,用户单击它,但不允许执行其功能,就会引发异常。
如果有某种方法可以在输入带有特定属性的函数时自动执行代码,那就太好了。因此,代码可以验证用户是否被允许执行功能或抛出适当的异常。
我知道我可以通过在输入函数的第一件事时调用一个函数来实现这一点。使用GetCurrentMethod获取MethodInfo.Attributes
来判断该函数是否允许用户执行。
但是,我希望不必添加执行用户权限检查的第一行代码,但在定义属性时会自动检查权限。这可能吗?
还是我自己发明了轮子,我的“问题”是否有开箱即用的解决方案?