关于权限模块的命名,模块名,数据库名称必须有@前缀吗?

1、为什么模块名必须有@前缀?

     因为为了统一模块的方法,如果有模块名前缀为@,则系统会到系统自带的自带的内部数据库(AM.dat)中

得到模块的配置信息。

    所以为了区别于其他标准模块,模块名必须使用前缀名@

2、在内部数据库AM.dat中,需要特殊的命名吗?

    应该不需要。

    这里面应该主要有这几个表:modulefields

                                        modulerelations

    所以不需要特殊命名。                                    

3、在系统数据库中,system.dat或者mysql,mssql的数据库中,和权限相关的表,需要增加特殊前缀吗 ?

     应该来说,因为这个表是系统自己使用的,应该考虑无所谓是否使用前缀。

     基础表如下:

                      和权限相关如下

                       users

                       roles

                       user_role

                       user_module 等等

                      和模块相关如下

                      modulegroup

                      moduledefields

                      modulerelations等等

                    逻辑而言,这个库中,不需要有其他的数据表。

                    在这个意义上,不需要额外标识

4、结论

    只需要在模块命名的使用在模块的名之前,增加@符号,进行权限模块标识。

   比如@user实际上指的是system.db中的user表。

    

原文地址:https://www.cnblogs.com/dlbird/p/3796264.html