In order to ensure the security of data access, correlative control and operational auditing are critical. After years of development, access control models with different properties have been applied under different conditions. However, the centralized access control model has defects such as single-point failure threats and poor scalability. As an emerging distributed data management technology, blockchain can make up for these shortcomings with its advantages of openness, transparency and traceability of operations, and can achieve audit goals. Given the characteristics of blockchain and smart contracts, we design and implement an attribute-based access control model based on the consortium blockchain and smart contracts. Moreover, considering potential policy conflicts, we add two different policy conflict handling methods based on smart contracts to enhance the security of the model. Finally, we tested the main interfaces of the model under different loads. We find that adding a policy conflict handling module will cause extra performance loss. Therefore, choosing suitable conflict handling method based on the application scenario is worth considering.