权限设计[0101000011111000]

这是一个权限字符串。很多人怎么对待管理这个字符串呢?就是一棍子打死。

如第一位表示添加文章权限,第二位表示删除文章权限.........

至于这个位的含义究竟如何,我们只有指望这个系统的作者写帮助文档了。

我这两个星期困扰于权限设计的这个字符串的表意。

昨天罗洗河击败了李昌镐,我也算找到了一个解决思路。

用xml文档来配置权限单元。配置单元之间的联系,配置单元与位的映射关系。

这是我的一个设计中的xml文档。

<?xml version="1.0"?>
<root>
<define>
    
<units>
        
<unit>
            
<name>act</name>
            
<unitWidth>14</unitWidth>
            
<ordering>asc</ordering>
        
</unit>
        
<unit>
            
<name>task</name>
            
<unitWidth>8</unitWidth>
            
<ordering>desc</ordering>
        
</unit>
        
<unit>
            
<name>operate</name>
            
<unitWidth>8</unitWidth>
            
<ordering>desc</ordering>
        
</unit> 
    
</units> 
    
<relateds><!-- 各权限单元之间关联关系 -->
        
<related>
            
<name>rel1</name>
            
<method>multiply</method>
            
<units>
                
<unit>act</unit>
                
<unit>task</unit>
            
</units>
        
</related>
    
</relateds>
</define>
<!-- 数据操作 -->
<data>
<!-- acts -->
<acts>
    
<act>
    
<name>category</name>
    
<ordering>1</ordering>
    
</act>
    
<act>
    
<name>content</name>
    
<ordering>2</ordering>
    
</act>
    
<act>
    
<name>html</name>
    
<ordering>3</ordering>
    
</act>
</acts>
<!-- /acts -->
<!-- tasks -->
<tasks>
    
<task>
    
<name>show</name>
    
<ordering>1</ordering>
    
</task>
    
<task>
    
<name>edit</name>
    
<ordering>2</ordering>
    
</task>
    
<task>
    
<name>publish</name>
    
<ordering>3</ordering>
    
</task>
</tasks>
<!-- /tasks -->
</data>

<!-- 文件操作 -->
<file>
<operates>
    
<operate ID="operate_show"  ordering="1">show</operate>
    
<operate ID="operate_delete"  ordering="1">delete</operate>
    
<operate ID="operate_upload"  ordering="1">upload</operate>
</operates>
</file>

</root>
Posted on 2006-01-14 14:44  古代  阅读(392)  评论(1编辑  收藏  举报