我正在.NET Membership-framework中实现Custom RoleProvider。现有的功能需要稍微调整一下,所以我想实现自己的公共函数,来调用静态的Roles类。
取代对象 - >角色 - > RolesProvider 我会去对象 - > RolesProvider
这会被视为不良做法吗?当前数据库方案的唯一替代方法是完全省略RoleProvider的使用,并实现我自己的自定义系统进行授权。
编辑:为了澄清,我已经实现了一个自定义MembershipProvider,因此继续在Membership-framework中工作的愿望相当高。
答案 0 :(得分:2)
每当你绕过框架的一部分或以一种无意的方式对其进行自定义时,都可能被视为不良做法。 ASP.NET成员资格提供程序框架的目的是通过Roles
类来促进对当前提供程序的访问。
“弯曲”框架以满足您的需求而不是按预期扩展的危险是: .net框架中可能还有其他区域,配置或工具围绕角色成员资格功能进行此假设,在您的更改后,它们可能不再有意义,并且会导致项目中涉及的其他人产生混淆。 ASP.NET网站管理工具是做出此假设的工具的一个示例。如果有人在您进行更改后使用此工具,则您的角色成员资格和网站可能会因此受到损坏。
如果你决定采用这种方法,你应该仔细考虑你要添加的功能,并最终问自己这是非常必要的。如果是这样,你可能最好不要完全定制一些东西,以避免混淆。