| Access Control is used to make a restricting to the source in a software system; so that these sources can only be accessed by the user who has the corresponding privilege. This article makes some researches on how to enhance the access control with ROLE and AOP technique.Role-Based Access Control (RBAC) introduce the ROLE into access control, the privilege is assigned to role, then access control can be managed easily by define the user of the role and the inherit of roles. Although the RBAC model is well accepted, it turns out to have some problems in practice. For example: in RBAC module, a high security needs a small granularity of access control. Then, all the components in the system need to be inserted the function of access verify, which will lead to a bad structure and is difficult to manage. Such a problem can't be solved by a separate object in OOP, but it is fit for AOP.Aspect-oriented programming (AOP) is used to separate the behavior, which crosscut many component of the system. These behaviors can be implemented separately. By such approach, instead invokes the access verify function by component, the function is triggered automatically. Then the access control can be scattered in to the components of the system, and enhance the safety of the system.Until recently, the research of AOP focuses on the design pattern of the project, which is designed by an AOP-based programming language. In June of 2004, how to make a safety evolution by AOP is proposed in ECOOP 2004, which is hold in Norway. This paper do some researches on how to improve RBAC model by AOP, so that the system has a little granularity of access control and the safety of the system has been enhanced. This approach based on a non-AOP-based programming language, .NET, which supports reflect. At last, this article makes some analysis to the rule, which is used to apply AOP in software evolution. A prototype tool for software evolution based on these rules is also introduced; it can help the developer implement the software safety evolution easily. |