Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 页面级权限所需的模式_C#_Asp.net_Membership Provider - Fatal编程技术网

C# 页面级权限所需的模式

C# 页面级权限所需的模式,c#,asp.net,membership-provider,C#,Asp.net,Membership Provider,我有一个自定义的成员身份实现(用户和角色),我正在逐页实现权限 例如,在客户页面中,如果角色具有仅查看权限,我将禁用插入、编辑和删除操作。我在页面加载时这样做 我唯一担心的是这些规则会分散在多个页面上(这真的没关系,因为这些规则是耦合到它们的特定页面的)。但如果可能的话,我希望将它们放在同一个类中,我可以通过传递对Page对象的引用并通过FindControl获取控件来实现这一点 但我不想“重新发明轮子”,我只是想知道是否有一种模式可以尝试和实验。非常感谢。创建一个从页面继承的新类,例如客户页面

我有一个自定义的成员身份实现(用户和角色),我正在逐页实现权限

例如,在客户页面中,如果角色具有仅查看权限,我将禁用插入、编辑和删除操作。我在页面加载时这样做

我唯一担心的是这些规则会分散在多个页面上(这真的没关系,因为这些规则是耦合到它们的特定页面的)。但如果可能的话,我希望将它们放在同一个类中,我可以通过传递对Page对象的引用并通过FindControl获取控件来实现这一点


但我不想“重新发明轮子”,我只是想知道是否有一种模式可以尝试和实验。非常感谢。

创建一个从
页面
继承的新类,例如
客户页面
。在
CustomerPage
中,添加所需的权限函数。由于它继承自
页面
,因此您现在可以将适用的页面更改为继承自
客户页面
,而不是
页面
,而不会出现任何问题

在继承自
CustomerPage
的那些页面中,您可以根据需要调用权限方法来锁定页面的访问权限